40
40
import com .google .privacy .dlp .v2 .PrivacyMetric .KAnonymityConfig ;
41
41
import com .google .privacy .dlp .v2 .PrivacyMetric .LDiversityConfig ;
42
42
import com .google .privacy .dlp .v2 .PrivacyMetric .NumericalStatsConfig ;
43
+ import com .google .privacy .dlp .v2 .ProjectName ;
43
44
import com .google .privacy .dlp .v2 .RiskAnalysisJobConfig ;
44
45
import com .google .privacy .dlp .v2 .Value ;
45
46
import com .google .privacy .dlp .v2 .ValueFrequency ;
47
+ import com .google .pubsub .v1 .ProjectSubscriptionName ;
48
+ import com .google .pubsub .v1 .ProjectTopicName ;
46
49
import java .util .Arrays ;
47
50
import java .util .List ;
48
51
import java .util .concurrent .ExecutionException ;
@@ -112,8 +115,8 @@ private static void calculateNumericalStats(
112
115
113
116
CreateDlpJobRequest createDlpJobRequest =
114
117
CreateDlpJobRequest .newBuilder ()
118
+ .setParent (ProjectName .of (projectId ).toString ())
115
119
.setRiskJob (riskAnalysisJobConfig )
116
- .setParent (projectId )
117
120
.build ();
118
121
119
122
DlpJob dlpJob = dlpServiceClient .createDlpJob (createDlpJobRequest );
@@ -143,34 +146,35 @@ private static void calculateNumericalStats(
143
146
}
144
147
}
145
148
149
+ // [START wait_on_dlp_job_completion]
150
+ // wait on receiving a job status update over a Google Cloud Pub/Sub subscriber
146
151
private static void waitOnJobCompletion (
147
152
String projectId , String subscriptionId , String dlpJobName )
148
153
throws InterruptedException , ExecutionException {
149
- // [START wait_on_dlp_job_completion]
150
154
// wait for job completion
151
155
final SettableApiFuture <Boolean > done = SettableApiFuture .create ();
152
156
153
- /* TODO // setup a Pub/Sub subscriber to listen on the job completion status
157
+ // setup a Pub/Sub subscriber to listen on the job completion status
154
158
Subscriber subscriber =
155
159
Subscriber .newBuilder (
156
- ProjectSubscriptionName.newBuilder()
157
- .setProject(projectId)
158
- .setSubscription(subscriptionId)
159
- .build(),
160
- (pubsubMessage, ackReplyConsumer) -> {
161
- ackReplyConsumer.ack();
162
- if (pubsubMessage.getAttributesCount() > 0
163
- && pubsubMessage.getAttributesMap().get("DlpJobName").equals(dlpJobName)) {
164
- // notify job completion
165
- done.set(true);
166
- }
167
- })
168
- .build();*/
160
+ ProjectSubscriptionName .newBuilder ()
161
+ .setProject (projectId )
162
+ .setSubscription (subscriptionId )
163
+ .build (),
164
+ (pubsubMessage , ackReplyConsumer ) -> {
165
+ ackReplyConsumer .ack ();
166
+ if (pubsubMessage .getAttributesCount () > 0
167
+ && pubsubMessage .getAttributesMap ().get ("DlpJobName" ).equals (dlpJobName )) {
168
+ // notify job completion
169
+ done .set (true );
170
+ }
171
+ })
172
+ .build ();
169
173
170
174
// wait for job completion
171
175
done .get ();
172
- // [END wait_on_dlp_job_completion]
173
176
}
177
+ // [END wait_on_dlp_job_completion]
174
178
175
179
private static void calculateCategoricalStats (
176
180
String projectId ,
@@ -213,9 +217,11 @@ private static void calculateCategoricalStats(
213
217
PrivacyMetric privacyMetric =
214
218
PrivacyMetric .newBuilder ().setCategoricalStatsConfig (categoricalStatsConfig ).build ();
215
219
216
- String topicName = String . format ( "projects/%s/topics/%s" , projectId , topicId );
220
+ ProjectTopicName topicName = ProjectTopicName . of ( projectId , topicId );
217
221
218
- PublishToPubSub publishToPubSub = PublishToPubSub .newBuilder ().setTopic (topicName ).build ();
222
+ PublishToPubSub publishToPubSub = PublishToPubSub .newBuilder ()
223
+ .setTopic (topicName .toString ())
224
+ .build ();
219
225
220
226
// create /action to publish job status notifications over Google Cloud Pub/Sub
221
227
Action action = Action .newBuilder ().setPubSub (publishToPubSub ).build ();
@@ -229,8 +235,8 @@ private static void calculateCategoricalStats(
229
235
230
236
CreateDlpJobRequest createDlpJobRequest =
231
237
CreateDlpJobRequest .newBuilder ()
238
+ .setParent (ProjectName .of (projectId ).toString ())
232
239
.setRiskJob (riskAnalysisJobConfig )
233
- .setParent (projectId )
234
240
.build ();
235
241
236
242
DlpJob dlpJob = dlpServiceClient .createDlpJob (createDlpJobRequest );
@@ -329,8 +335,8 @@ private static void calculateKAnonymity(
329
335
330
336
CreateDlpJobRequest createDlpJobRequest =
331
337
CreateDlpJobRequest .newBuilder ()
338
+ .setParent (ProjectName .of (projectId ).toString ())
332
339
.setRiskJob (riskAnalysisJobConfig )
333
- .setParent (projectId )
334
340
.build ();
335
341
336
342
DlpJob dlpJob = dlpServiceClient .createDlpJob (createDlpJobRequest );
@@ -438,8 +444,8 @@ private static void calculateLDiversity(
438
444
439
445
CreateDlpJobRequest createDlpJobRequest =
440
446
CreateDlpJobRequest .newBuilder ()
447
+ .setParent (ProjectName .of (projectId ).toString ())
441
448
.setRiskJob (riskAnalysisJobConfig )
442
- .setParent (projectId )
443
449
.build ();
444
450
445
451
DlpJob dlpJob = dlpServiceClient .createDlpJob (createDlpJobRequest );
0 commit comments