删除 AWS SNS 中的冗余终端节点和订阅

Rav*_*ngh 6 amazon-web-services amazon-sns google-cloud-messaging

我使用 SNS 和 GCM 向 Android 设备发送通知。卸载应用程序后,订阅仍在 AWS 中,因为我们基本上无法调用,unsubscribe因为我们不知道应用程序何时会被卸载。现在,这会导致 AWS 中出现大量冗余端点和订阅。如何以可扩展的方式清理它?每当消息未能传递到端点时,我都可以运行 lambda。但是失败不包含任何subscription arn,AWS 文档提到在删除端点之前取消订阅订阅。

When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

  • 我可以通过调用list-subscription现有订阅来创建端点和订阅之间的映射 ,但是新的端点和订阅呢?新端点创建的消息不包含订阅 arn 的信息。通过不时列出所有订阅来更新表是不可扩展的。有没有更好的办法?
  • 如果我在不取消订阅的情况下删除端点会发生什么?孤立的订阅会自动清除吗?