2016-03-15 136 views
1

是否可以延遲確認直到子圖(PubSubIO.Read下面的所有內容)被成功處理?使用谷歌雲數據流PubSubIO,何時讀取消息得到確認?

例如,我們從谷歌發佈訂閱訂閱讀取信息,然後將文件寫入GCS和另外一個分支,我們使用BigQueryIO.Write寫的BigQuery ...

我們看到,如果發生異常將無限期地重試,因爲我們處於流模式。但是,如果我們取消作業並重新部署代碼更改,則不會重新處理該消息。

回答

1

一旦消息在數據流管道中的某處持續存在,就會進行確認。如果要在不丟失傳送數據的情況下更改管道,請使用更新功能而不是取消:https://cloud.google.com/dataflow/pipelines/updating-a-pipeline

+0

是否可以正常停止管道執行,以確保不會丟失已讀取的數據訂閱但未完全處理? – successhawk

+1

該功能稱爲Drain,即將推出。它將允許您排除正在運行的管道中的所有數據,包括緩衝等待窗口完成的數據。 – danielm