是否可以延迟确认,直到子图(PubSubIO.Read下面的所有内容)成功处理?
例如,我们从google pubsub订阅流式读取,然后将文件写入GCS,在另一个分支中,我们使用BigQueryIO写入BigQuery.Write ...
我们确实看到,如果发生异常,它将无限期重试,因为我们处于流模式。但是,如果我们取消作业并使用代码更改重新部署,则不会重新处理该消息。
答案 0 :(得分:1)
一旦消息在Dataflow管道中的某个地方持久存在,就会进行确认。如果要在不丢失正在传输的数据的情况下对管道进行更改,请使用“更新”功能而不是“取消”:https://cloud.google.com/dataflow/pipelines/updating-a-pipeline