将主题附加到SNS应用程序"更新端点"可配置的主题我遇到了一些意想不到的行为。根据AWS SNS Application Events上的文档,当平台端点更新为禁用或令牌更改时,我应该收到有关我配置主题的事件。
在我的情况下,我有一个订阅此主题的lambda函数,然后通过调用AWS的javascript sdk SNS.getEndpointAttributes
来检索平台端点的属性,以便我可以检查哪个属性具有更改为删除端点或更新持久存储中的关联令牌。但是,此调用将端点返回为Enabled = true
,这会阻止我采取纠正措施。但是,如果我查看AWS SNS控制台,我可以看到端点已被禁用为Enabled = false
。
让其他人遇到类似的不一致之处,如果有的话,绕过他们的最佳做法是什么?感谢您的任何意见!
答案 0 :(得分:1)
当亚马逊通过http通知我sns应用程序事件时,我也遇到了类似的问题。为了解决这个问题,我实际上延迟了将这些端点更新与我的数据库同步的代码的执行。为了达到这个目的,我为我的后台队列工作者安排了一份工作,并在亚马逊通过http通知的30秒后推迟执行。我不知道这是否是最佳实践,但它在我的方案中有效。