【问题标题】:SNS getEndpointAttributes Returns Old Data After EventEndpointUpdated EventSNS getEndpointAttributes 在 EventEndpointUpdated 事件后返回旧数据
【发布时间】:2018-08-23 13:21:50
【问题描述】:

将主题附加到 SNS 应用程序的“端点已更新”可配置主题时,我遇到了一些意外行为。根据 SNS Application Events 上的 AWS 文档,当平台端点更新为禁用或令牌更改时,我应该收到有关我配置的主题的事件。

在我的情况下,我有一个订阅该主题的 lambda 函数,然后通过调用 AWS 的 javascript sdk SNS.getEndpointAttributes 来检索平台端点的属性,以便我可以检查哪些属性已更改以删除端点或更新关联的我的持久存储中的令牌。但是,此调用将端点返回为Enabled = true,这会阻止我采取纠正措施。但是,如果我查看 AWS SNS 控制台,我可以看到端点已被禁用为 Enabled = false

其他人是否遇到过类似的不一致问题,如果有,解决这些问题的最佳做法是什么?感谢您的任何意见!

【问题讨论】:

    标签: amazon-sns aws-sdk-js


    【解决方案1】:

    当亚马逊通过 http 通知我 sns 应用程序事件时,我也遇到了类似的问题。为了解决这个问题,我实际上延迟了将这些端点更新与我的数据库同步的代码的执行。为了实现这一点,我为我的后台队列工作者安排了一个工作,并在亚马逊通过 http 通知的时间后 30 秒后延迟了它的执行。我不知道这是否是最佳实践,但它在我的场景中有效。

    【讨论】:

    • 我做类似的事情。我在“端点更新”事件调用的 lambda 函数中睡了 60 秒。
    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 2011-02-13
    • 2020-07-05
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多