提问者:小点点

如何停止谷歌云数据流中的流式传输管道


我有一个流数据流正在运行以读取PUB/SUB订阅。

一段时间后,或者可能在处理一定数量的数据后,我希望管道自行停止。我不希望我的计算引擎实例无限期运行。

当我通过数据流控制台取消作业时,它显示为失败作业。

有办法实现这一点吗?我错过了什么吗?或者该功能在API中缺失。


共2个答案

匿名用户

你能做这样的事吗?

Pipeline pipeline = ...;
... (construct the streaming pipeline) ...
final DataflowPipelineJob job =
    DataflowPipelineRunner.fromOptions(pipelineOptions)
                          .run(pipeline);
Thread.sleep(your timeout);
job.cancel();

匿名用户

我能够使用RestAPI在数据流上耗尽(取消作业而不丢失数据)正在运行的流作业。

看看我的答案

在此正文中使用Rest Update方法:

{"request estedState":"JOB_STATE_DRAINING"}