【发布时间】:2017-03-12 04:25:24
【问题描述】:
从 CLI 或 AWS 控制台为 http 端点创建新的 SNS 订阅后,我收到来自亚马逊的确认订阅的请求。我的代码执行确认,然后我收到来自 Amazon 的响应,即使用 SubscriptionArn 成功确认订阅。同样在 AWS 控制台中,我看到订阅已确认。
但几秒钟后,我收到了来自亚马逊的另一个确认请求。脚本尝试处理它,但亚马逊发送错误消息"Subscription already confirmed"。这会重复几次。
为什么亚马逊在确认后仍发送确认请求?是否可以检查订阅已经确认不执行confirmSubscription?
P.S.:我使用 NodeJS SDK 来确认订阅。
谢谢
【问题讨论】:
-
您是否在收到传入消息时没有返回正确的响应(如
200 OK)?这是有道理的——SNS 的一部分被要求“传递一些东西”......这恰好是向您发送消息的确认。它正在重试,因为它认为它未能交付“某些东西”。听起来该服务并不是故意要求您再次确认,而是它只是在做它应该对它应该提供的 anything 做的事情——就像它使用普通的 SNS 通知一样——重试-- 当你没有以肯定的方式回应时。 -
@Michael-sqlbot 是的,你是对的,我忘记在确认后发送回复。您可以写下您的评论作为答案,我会接受。
标签: node.js amazon-web-services aws-sdk amazon-sns