数据流管道完成后如何触发事件?

How to trigger an event when Dataflow Pipeline is finished?

我是 运行 我自己的一个来自云函数的数据流模板,我想在管道结束时做一些事情。

有官方的方法吗?

我无法使用 waitUntilFinish(),因为我的云功能不会持续那么久。所以我需要某种事件来触发其他一些进程。

Pubsub 听起来不错,但如何发送单个消息?

任何想法都会很棒!

思路如下。

  • 转到日志,select 高级过滤器(过滤器栏右侧的箭头)并粘贴此自定义过滤器
resource.type="dataflow_step" textPayload="Worker pool stopped."

如果没有任何返回,试试这个

resource.type="gce_instance_group"
resource.labels.instance_group_name:"dataflow-"
jsonPayload.event_subtype="compute.instanceGroups.removeInstances"
jsonPayload.event_type="GCE_OPERATION_DONE"

您应该只会看到数据流的结尾

  • 去导出
  • Select 前进过滤器并再次粘贴过滤器
  • 点击创建导出
  • 设置接收器名称
  • 将目标设置为 PubSub
  • Select您的主题
  • 现在,在这个主题上插入一个函数,它只会在数据流结束时触发。 对于第二个filter,并不是真正的结束,而是当VM被销毁时,所有的处理就结束了。