subscriber = google.cloud.pubsub.SubscriberClient()
subscription_path = subscriber.subscription_path(
project, subscription_id)
subscription = subscriber.subscribe(subscription_path)
// Set up a callback to acknowledge a message. This closes around an event
// so that it can signal that it is done and the main thread can continue.
job_done = threading.Event()
def callback(message):
try:
if (message.attributes["DlpJobName"] == operation.name):
// This is the message we"re looking for, so acknowledge it.
message.ack()
// Now that the job is done, fetch the results and print them.
job = dlp.get_dlp_job(operation.name)
if job.inspect_details.result.info_type_stats:
for finding in job.inspect_details.result.info_type_stats:
print("Info type: {}; Count: {}".format(
finding.info_type.name, finding.count))
else:
print("No findings.")
// Signal to the main thread that we can exit.
job_done.set()
else:
// This is not the message we"re looking for.
message.drop()
except Exception as e:
// Because this is executing in a thread, an exception won"t be
// noted unless we print it manually.
print(e)
raise
// Register the callback and wait on the event.
subscription.open(callback)
finished = job_done.wait(timeout=timeout)
if not finished:
print("No event received before the timeout. Please verify that the "
"subscription provided is subscribed to the topic provided.")
After Change
raise
// Register the callback and wait on the event.
subscriber.subscribe(subscription_path, callback=callback)
finished = job_done.wait(timeout=timeout)
if not finished:
print("No event received before the timeout. Please verify that the "
"subscription provided is subscribed to the topic provided.")