AWS SNS通过Cognito身份标识

时间:2016-05-25 14:08:07

标签: amazon-web-services amazon-dynamodb amazon-sns aws-lambda

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:7)

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

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

您无需创建SNS主题即可将Push发送到各个端点。