首页 文章

AWS SNS通过Cognito Identity ID发布给特定用户

提问于
浏览
4

我在这里尝试做的是当特定用户是新添加的DynamoDB项目的一部分时,通过SNS和APNS发送通知 . 我想将其发送给用户Cognito Identity ID,而不是设备令牌 .

因此,应在添加项目时触发Lambda,然后浏览Cognito Identity ID列表,该列表也是项目的一部分 .

然后Lambda应该将推送通知发布到每个Cognito Identity ID .

所有设备都在sns中注册为 endpoints . 我还将Cognito Identity ID保留在 endpoints 的“用户数据”行中 .

但我没有找到直接向Cognito Identity ID发送通知的方法 . 我是否必须为每个用户添加主题并将通知发送到该主题?或者我是否必须存储另一个DynamoDB表以将Cognito Identity ID映射到设备令牌?如果有人知道一种更容易且不太昂贵的方式,那就太棒了!

谢谢!

1 回答

  • 6

    如果您要通过SNS向APNS或GCM发送推送通知,则首先需要为注册推送通知的每个设备令牌创建SNS平台 endpoints . 获得SNS endpoints 后,您需要使用用户表或其他映射表中的Cognito Identity ID映射该 endpoints .

    将新项目添加到DynamoDB时,事件处理程序(Lambda)将需要将传入的Cognito Identity ID映射到用户表中的SNS平台 endpoints ,然后它可以将发布直接发布到该 endpoints .

    您无需创建SNS主题即可将Push发送到各个 endpoints .

相关问题