【问题标题】:SNS Delivering Messages to a Deleted SubscriptionSNS 向已删除的订阅发送消息
【发布时间】:2020-01-28 19:44:02
【问题描述】:

我有一个包含 HTTPS 订阅的 SNS 主题。端点是一个代理 Lambda 函数的 API,它格式化 SNS 消息并将其转发到 webhook(聊天室)。我正在按照'UnsubscribeURL' link from the SNS 'Notification' 测试取消订阅功能,并遇到了看似不正确的行为。

  • 我点击(通过浏览器)UnsubscribeURL 链接。
  • 我看到 XML 响应(在浏览器中)表明取消订阅请求已被执行。
  • 我确认取消订阅请求已执行,方法是转到 AWS 控制台,查看 SNS 主题,并看到订阅现在列为“Deleted”(之前它有一个 ARN并提供链接)。
  • 我进一步确认订阅请求已执行,因为我可以看到unsubscribe confirmation 的收据通过

但是,随后当我向该主题发布消息时(无论是通过控制台还是 AWS CLI),该消息将传递到已删除订阅(HTTPS 端点)。

¿其他人看到过这种行为吗?

¿其他人找到解决方案或解释了吗?

【问题讨论】:

    标签: amazon-web-services amazon-sns


    【解决方案1】:

    这似乎是时间问题。我本来预计取消订阅(和重新订阅)请求会立即执行(延迟以秒为单位)。然而,经过多次测试和等待,似乎存在从几秒到 10m 不等的延迟。

    虽然订阅删除和创建实际上是即时的,但订阅取消订阅和重新订阅在大部分时间都有相对显着的延迟。

    【讨论】:

    • 有趣的发现,感谢您对此的跟进。我认为这在某种程度上属于分布式、解耦系统的性质,其中某些操作(在本例中为 SNS 取消订阅)的后果是异步发生的,并且具有一些非零但并非完全可预测的延迟。
    猜你喜欢
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多