我有一个流数据流正在运行以读取PUB/SUB订阅。
一段时间后,或者可能在处理一定数量的数据后,我希望管道自行停止。我不希望我的计算引擎实例无限期运行。
当我通过数据流控制台取消作业时,它显示为失败作业。
有办法实现这一点吗?我错过了什么吗?或者该功能在API中缺失。
你能做这样的事吗?
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"}