>我创建了一个 PubsubToBigQuery 数据流,用于存储我的事件日志,方法是使用同一个 PubsubToBigQuery 数据流模板的 google 模板。
我做了一些转换,并成功地将日志保存到 BigQuery。但是,我需要将 pubsub 消息的唯一 MessageID(PubsubMessage.getMessageId())
保存到 BigQuery 表中,以便进一步使用。
如何实现?
要将 MessageID 存储到 BigQuery 中,您必须将其保留在将 PubsubMessages 转换为 Bigtable Rows 的 DoFn 中。
如果要使用此模板,则看起来在"ProcessUdf"中会发生这种情况,其中仅检查有效负载。 您必须对其进行编辑才能将消息 ID 传递给 javascript UDF(或以其他方式将其合并到返回的(json 格式)结果中)。如果你不需要一些超级通用的东西,那么简单地提供一个DoFn<PubsubMessage, TableRow>
并跳过所有json/javascript的东西可能会更有效,更简单。