按用户数据查询 AWS SNS 终端节点

Rya*_*cer 5 amazon-web-services amazon-sns

简单的问题,但我怀疑它没有简单或容易的答案。不过,值得一问。

我们正在使用 AWS 创建推送通知的实现,我们的 Web 服务器在 EC2 上运行,将消息发送到 SQS 上的队列,该队列使用 Lambda 处理,最终发送到 SNS 以交付给 iOS/Android 应用程序。

我的问题是:有没有办法根据创建时提供的自定义用户数据查询 SNS 端点?到目前为止,我看到的唯一方法是列出给定平台应用程序中的所有端点,然后在该列表中搜索我正在寻找的用户数据......但是,更直接的方法会好得多.

我为什么要这样做很简单:如果我可以将用户标识符附加到这些设备终端节点,并基于它进行查询,我就可以避免完全将 ARN 保存到我们的 DynamoDB 数据库。这将节省大量的实施时间和复杂性。

让我知道你们的想法,即使你认为这个想法是不切实际和愚蠢的,或者如果搜索所有这些是解决这个问题的最好方法!

干杯!

std*_*bar 1

ListTopics 中无法包含“where”子句。我看到两种可能性:

  1. 为每个用户创建一个新的 SNS 主题,其中包含一些可识别的 ID。例如,ARN 类似于“arn:aws:sns:us-east-1:123456789:know-prefix-user-id”。明显的缺点是您可能会遇到大量 SNS 主题。
  2. 使用专为此类用途设计的服务,例如 PubNub。免责声明 - 我不为 PubNub 工作或拥有股票,但已在多个项目中成功使用它。您可以通过这种方式定位一个或多个用户。