我使用表架构设置了对 Pub/Sub 主题的 BigQuery 订阅,但是当我向该主题发布消息时,数据不会写入 BigQuery 表。我遵循了 Google 的故障排除建议,但它说订阅正常并且没有错误消息。我还尝试了这个答案中的建议,但该表设置为永不过期,并且为订阅启用 ack 消息没有任何效果,因为它不是拉取订阅。该项目确实有一个计费帐户(我们已经使用 BigQuery 一段时间了)。
查看 BigQuery 作业历史记录,我从控制台看到其他作业 (Datastream) 和我的查询,但没有从 Pub/Sub 看到任何内容。
查看 Pub/Sub 指标,我发现最旧的未确认消息年龄线性增加,确认消息计数没有数据,按区域和传递指标划分的未确认消息都显示了我发布到该主题的消息数量。所以显然这些消息没有被确认。
我还能做什么来找出问题所在? Pub/Sub 是否在某处有日志?
我能够通过在 BigQuery 订阅上配置死信主题来找到问题,如此处所述。死信主题中的消息具有包含错误消息的属性
CloudPubSubDeadLetterSourceDeliveryErrorMessage
。 (就我而言,这是其中一列中的类型不匹配。)