Есть ли способ опубликовать сообщение в Google Pubsub после завершения задания Google Dataflow? Нам необходимо уведомить зависимые системы о завершении обработки входящих данных. Как Dataflow опубликовать после записи данных в раковину?Уведомление Google PubSub о завершении задания потока данных
EDIT: Мы хотим уведомить вас после того, как конвейер завершит запись в GCS. Наш трубопровод выглядит следующим образом:
Pipeline.create(options) .apply(....) .apply(AvroIO.Write.named("Write to GCS") .withSchema(Extract.class) .to(options.getOutputPath()) .withSuffix(".avro")); p.run();
Если мы добавим логики за пределами pipeline.apply (...) метод мы уведомлены, когда код завершает выполнение, не тогда, когда трубопровод будет завершен. В идеале мы могли бы добавить еще один .apply(...)
после раковины AvroIO и опубликовать сообщение для PubSub.
Нет ничего, что помешало бы вам написать сообщение в паб/подтему, когда конвейер (ы) заканчивается. Для этого вам не нужен Dataflow. –
Для достижения желаемого эффекта может потребоваться BlockingPipelineRunner (https://cloud.google.com/dataflow/pipelines/specifying-exec-params#blocking-execution). –