如何获取单个PubsubMessage的MessageID以将其保存在BigQuery中以进行PubsubToBigQuery事件数据流作业?

时间:2019-06-12 12:48:28

标签: google-cloud-platform google-bigquery google-cloud-dataflow google-cloud-pubsub

我创建了一个PubsubToBigQuery数据流,用于通过使用Google PubsubToBigQuery Dataflow Template模板来存储事件日志。
我进行了一些转换,并将日志成功保存到BigQuery。但是,我需要将pubsub Message的唯一MessageID (PubsubMessage.getMessageId())保存到BigQuery表中,以备进一步使用。
如何实现?

1 个答案:

答案 0 :(得分:0)

要将MessageID存储到BigQuery中,您必须将其保存在将PubsubMessages转换为Bigtable Rows的DoFn中。

如果要使用此模板,则看起来是在检查only the payload的“ ProcessUdf”中发生的。您将必须对其进行编辑,以将消息ID也传递给javascript UDF(或将其合并到返回的(JSON格式)结果中)。如果您不需要超级通用的东西,只需提供DoFn<PubsubMessage, TableRow>并跳过所有json / javascript内容,可能会更高效,更简单。