使用PubSubIO Beam源读取消息后,是否有可能以某种方式获取DoFn中Pub / Sub消息的messageId字段?
我需要Pub / Sub服务分配的默认ID。我想记录它以进行调试。
我无法使用自定义属性作为唯一ID和withIdAttribute()方法,因为在这种情况下我对发布者没有影响。
我使用2.2.0版本的Dataflow Java SDK。
答案 0 :(得分:0)
出于调试目的,您可以使用seek option。
它创建消息的快照,您可以在需要时重播。
答案 1 :(得分:0)
从Beam v2.16.0开始支持reading the Pubsub message id was added。若要将其打开,请在管道设置中将my_list = [0.0, 0, 0, 0.0, 0, 0, 0]
new_list = list(filter(lambda x: isinstance(x, int), my_list))
print(new_list)
替换为[0, 0, 0, 0, 0]
,然后像更改后的.readMessages()
一样简单。