PubsubIO允许根据id属性对消息进行重复数据删除:
PubsubIO.readStrings().fromSubscription(pubSubSubscription).withIdAttribute("message_id"))
Dataflow会记住此ID多长时间?它在任何地方都有记录吗?
答案 0 :(得分:2)
已记录,但是尚未将其迁移到文档的V2 +版本。该信息仍然可以在V1文档中找到:
https://cloud.google.com/dataflow/model/pubsub-io#using-record-ids
“如果您在使用PubsubIO.Read时设置了记录ID标签,则当Dataflow接收到多个具有相同ID的消息(将从具有传递给idLabel的字符串名称的属性中读取)时,Dataflow将丢弃除一条消息之外的所有消息。但是,Dataflow不会对具有相同记录ID值且间隔超过10分钟发布到Cloud Pub / Sub的消息执行此重复数据删除。”