首页 文章

根据消息内容从Dataflow作业写入动态PubSub主题

提问于
浏览
0

我想根据字段的内容动态地将PCollection的不同元素路由到不同的PubSub主题 . 主题不是持久的,但是假设它们在运行时执行PubSubIO.Write()时存在 . 因此,Dataflow应该仅在每个消息的基础上在运行时推断它们的名称 .

BigQuery和动态表名称存在此功能:https://beam.apache.org/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinations.html

有没有办法与PubSubIO做类似的事情?

也许不是基于消息内容而是基于属性? https://beam.apache.org/documentation/sdks/javadoc/0.6.0/org/apache/beam/sdk/io/PubsubIO.PubsubMessage.html#getAttribute-java.lang.String-

1 回答

  • 0

    有没有办法与PubSubIO做类似的事情?

    对于Pub / Sub,没有相当于 DynamicDestinations 的内容 .

    您需要提前了解所有Pub / Sub主题,并在管道中定义它们 . 可以基于发布/订阅消息的某个值或属性对管道进行分区,并将其路由到适当的发布/订阅主题 . Partition 转换将检查 PubsubMessage 并确定消息所属的分区 .

    参考:Partition

    也许不是基于消息内容而是基于属性?

    是的,您可以访问邮件的属性 .

相关问题