繁体   English   中英

Google Cloud Functions 无法使用 Pub/Sub 死信主题

[英]Google Cloud Functions can't use Pub/Sub dead-letter topic

似乎 GCP Cloud Functions 在调用时总是 ACK Pubsub PUSH 消息,即使 function 崩溃或失败。

这可以防止使用新的 Pub/Sub“死信”主题功能,该功能需要消息传递失败,然后才能将其转发到不同的主题。 目前,消息永远不会失败。

有没有办法利用 Cloud Functions 的“死信主题”或 pubsub 重新交付? 除了在 function 本身上设置“重试”标志外,这并不能解决这个问题。

推送订阅意味着两件事:

  • 在 --trigger-http 模式下创建您的 function
  • 创建使用 Cloud Functions URL 的推送 PUSH 订阅。

在这里,您在 --trigger-topic 模式下创建了一个 function,它是一个背景 function。

您在这里可以将 function 标记为 failed

如果您需要更多帮助,请分享您的代码

可以处理这种情况的一种方法(直到 GCP 开始支持云功能的手动确认)是通过重新排队到相同的主题,并在失败的情况下增加重试计数。 您可以将重试计数存储在有效负载本身中,例如:

{
  "retry_count": 1,
  "data": {...}
}

此外,为了避免错误消息被永久重试,您可以将其配置为在重试尝试 > x 时推送到死信。

这仅在 topi 只有一个订阅者的情况下才解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM