Amazon web services 订阅SNS主题的设备和订阅主题的lambda函数之间的区别?

Amazon web services 订阅SNS主题的设备和订阅主题的lambda函数之间的区别?,amazon-web-services,push-notification,aws-lambda,apple-push-notifications,amazon-sns,Amazon Web Services,Push Notification,Aws Lambda,Apple Push Notifications,Amazon Sns,我目前正在尝试设计一种可扩展的推送通知服务,它可以在很短的时间内向5-10百万用户发送通知。我遇到了两个与AWS相关的架构,这让我感到困惑。 用例:向所有用户发送通知 1每个设备订阅一个SNS主题,如果我们想向所有用户发送推送,我们只需发布到主题端点。而SNS则负责向数百万用户发送数据 SNS主题订阅了2个Lambda函数。我们向包含所有设备令牌/批的SNS主题发送一条消息,然后lambda调用APN/Firebase端点 我看不出在什么情况下,第二种架构会比第一种架构更有益 移动推送通知: s

我目前正在尝试设计一种可扩展的推送通知服务,它可以在很短的时间内向5-10百万用户发送通知。我遇到了两个与AWS相关的架构,这让我感到困惑。 用例:向所有用户发送通知

1每个设备订阅一个SNS主题,如果我们想向所有用户发送推送,我们只需发布到主题端点。而SNS则负责向数百万用户发送数据

SNS主题订阅了2个Lambda函数。我们向包含所有设备令牌/批的SNS主题发送一条消息,然后lambda调用APN/Firebase端点

我看不出在什么情况下,第二种架构会比第一种架构更有益

移动推送通知: sns端点将基于用户设备令牌创建,您将从Adm、Fcm、,例如推送通知平台sdk,您可以触发推送通知到特定的基于用户的sns端点,因为每个设备都有不同的端点,它创建了用户设备令牌,您将有跟踪用户设备令牌、端点和用户ID,并且您可以看到aws sns移动推送通知控制台

  1) you can create manually also
  2) you can create endpoint using programmatically
您可以参考下面的SDK来创建via代码

Lamda推送通知

您可以在sns控制台中创建sns主题,并可以订阅要传递通知的lambda 基本上,如果你想将一个lamda连接到另一个lamda,你可以使用这些案例

例1:
您有用于向用户发送otp的微服务,微服务部署在不同的lambda中,应用程序接收发送otp请求您的应用程序主lamda,现在您需要调用otp服务lamda,以便您可以创建一个sns主题,在订阅下,您可以订阅otp微服务lamda,以便主lamda将触发otp服务sns端点it将提供通知微服务lamda

您能否进一步解释第二个选项?你是说只需订阅一个AWS Lambda函数,就可以将500-1000万个身份列表传递给联系人吗?@JohnRotenstein谢谢你的回复。关于第二种选择,可以是:。一种选择是进行批处理并将其发送到lambda函数,该函数随后直接发送到apn/firebase。另一个是包装最大SNS负载的通知,发送到SNS,一个下标的lambda函数读取它,然后再次生成多个lambda函数并发送通知。幻灯片9:但无论是哪种情况,我都不明白为什么我们不能让所有的百万台设备直接订阅sns主题,而不是让lambda功能参与进来。如果它适用于您的SNS,则无需使用AWS Lambda函数。顺便说一句,你可能也有兴趣了解一下。我会查一下的,谢谢!此外,如果我们向500-1000万用户批量发送一个通知,根据您的经验,您认为如果我们使用多个lambda功能与简单使用sns相比,会对总体交付时间产生任何影响吗?