Google cloud platform 当数据流管道完成时,如何触发事件?
我正在从一个云函数运行我自己的数据流模板,我想在管道结束时做一些事情 有官方的方法吗 我不能使用Google cloud platform 当数据流管道完成时,如何触发事件?,google-cloud-platform,google-cloud-dataflow,apache-beam,google-cloud-pubsub,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,Google Cloud Pubsub,我正在从一个云函数运行我自己的数据流模板,我想在管道结束时做一些事情 有官方的方法吗 我不能使用waitUntilFinish(),因为我的云函数不会持续那么长时间。所以我需要一些事件,来触发一些其他的过程 Pubsub听起来不错,但是如何发送一条消息呢 任何想法都很好 想法如下 转到日志,选择高级过滤器(过滤器栏右侧的箭头)并粘贴此自定义过滤器 如果没有返回任何内容,请尝试此选项 resource.type="gce_instance_group" resource.labels.inst
waitUntilFinish()
,因为我的云函数不会持续那么长时间。所以我需要一些事件,来触发一些其他的过程
Pubsub听起来不错,但是如何发送一条消息呢
任何想法都很好 想法如下
- 转到日志,选择高级过滤器(过滤器栏右侧的箭头)并粘贴此自定义过滤器
resource.type="gce_instance_group"
resource.labels.instance_group_name:"dataflow-"
jsonPayload.event_subtype="compute.instanceGroups.removeInstances"
jsonPayload.event_type="GCE_OPERATION_DONE"
您应该只看到数据流的末尾
- 出口
- 选择高级过滤器并再次粘贴过滤器
- 创建导出
- 设置接收器名称
- 将目标设置为PubSub
- 选择你的主题
- 现在,在此主题上插入一个函数,它将仅在数据流结束时触发。对于第二个过滤器,它实际上并不在最后,而是当VM被销毁时,所有的处理就完成了
资源。type=“dataflow\u step”textPayload=“Worker pool stopped。”
。如果你同意,你能更新你的过滤器以便我能接受这个答案吗?这个过滤器在我的项目(开发和生产)中不返回结果。我不明白为什么。我在数据流图(图下方的日志部分)中看到了“工作池已停止。”
,但在stackdriver日志部分中没有看到。是的,如果是工作的话会更好,但对我来说不起作用。这是一个有趣的行为,可能是来自数据流的一个bug。有趣的事实:我在europe-west4停止了员工池,但在美国中部没有。我甚至不想去理解为什么!:)
resource.type="gce_instance_group"
resource.labels.instance_group_name:"dataflow-"
jsonPayload.event_subtype="compute.instanceGroups.removeInstances"
jsonPayload.event_type="GCE_OPERATION_DONE"