繁体   English   中英

针对不同类型的故障使用不同的 GCP PubSub 死信主题

[英]Different GCP PubSub dead letter topics for different types of failures

我有一个向 Cloudrun 服务发送消息的推送订阅。 该服务针对不同类型的故障发送不同的 HTTP 代码。 是否可以根据错误代码将消息路由到不同的死信主题? 示例:对于 HTTP 响应码 500,将消息发送到 dl-topic1; 对于 HTTP 响应代码 501,将消息发送到 dl-topic2 等。

GCP PubSub 文档仅说明了一个附加属性 deliveryAttempt https://cloud.google.com/pubsub/docs/handling-failures#track-delivery-attempts的可用性。 没有关于错误类型的其他信息。

不幸的是,这不是受支持的功能。

如果您想为服务返回的响应代码实现此目的,您可以选择根据客户端逻辑主动将消息发布到不同的主题,并向 Cloud Pub/Sub 确认消息(响应代码 200)。

我最近遇到了类似的问题,我通过在发布/订阅和 Cloud Run 之间放置一个工作流来处理。 这样Workflow会根据Cloud Run的状态返回执行一个步骤。 对我来说,另一个好处是它在超时内确认了发布/订阅,即使我的 Cloud Run 是一项长时间运行的工作(不到 30 分钟)。

所以发布/订阅 -> 工作流 -> Cloud Run -> 回到工作流,它根据状态返回做一些事情。

[1] https://cloud.google.com/run/docs/tutorials/workflows

暂无
暂无

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

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