_CHANGE_TYPE 在从 Pub/Sub 流式传输 Google Big Query 行时不起作用

问题描述 投票:0回答:2

以下链接 (https://cloud.google.com/pubsub/docs/bigquery#change_data_capture) 指出,当从 Pub/Sub 将行流式传输到 Google Big Query 时,我们应该能够在JSON 以确保数据通过主键更新。

我当前有一个主键集,并且可以在测试时写入初始行,但是当我尝试使用包含 _CHANGE_TYPE 值重写同一行时,该消息在订阅中保持未确认状态。

我在日志记录中找不到任何相关错误。

还有其他人遇到此问题或使此功能正常工作吗?

示例架构:

_CHANGE_TYPE = 'UPSERT'

示例发布/订阅消息 1:

id: STRING, time: TIMESTAMP

示例发布/订阅消息 1(带 UPSERT):

{ "id": "abcd1234", "time": "2024-09-01 00:00:00" }

	
google-cloud-platform google-bigquery google-cloud-pubsub
2个回答
0
投票
向订阅添加死信主题

。您可以将请求订阅附加到死信主题,并查看 { "id": "abcd1234", "time": "2024-09-02 00:00:00", "_CHANGE_TYPE": "UPSERT" } 属性以了解消息无法写入 BigQuery 表的原因。

    


0
投票

根据您的使用案例,您可能有 3 个完全独特的权限场景,但为了确保我可以将其用于 WRITE、UPSERT 和 DELETE,我刚刚向我的 PubSub 服务帐户授予了

CloudPubSubDeadLetterSourceDeliveryErrorMessage

权限。可能有点矫枉过正,但确实有效。

    

© www.soinside.com 2019 - 2024. All rights reserved.