Amazon Simple Notification Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

应用程序事件通知

Amazon SNS 提供在发生特定应用程序事件时触发通知的支持。然后,您可以对该事件采取一些编程操作。您的应用程序必须包括对推送通知服务的支持,例如 Apple Push Notification Service (APNS)、Firebase Cloud Messaging (FCM) 和 Windows Push Notification Services (WNS)。使用 Amazon SNS 控制台、AWS CLI 或 AWS 开发工具包设置应用程序事件通知。

可用应用程序事件

应用程序事件通知跟踪各个平台终端节点何时创建、删除、更新以及出现传输故障。以下是应用程序事件的属性名称。

您可以将任何属性与应用程序关联,然后应用程序就可以接收这些事件通知。

发送移动推送通知

要发送应用程序事件通知,您需要为每种事件类型指定用于接收通知的主题。Amazon SNS 发送通知时,主题可以将它们路由至将采取编程操作的终端节点。

重要

高容量应用程序将创建大量的应用程序事件通知(例如,数万条),这会“淹没”供人们使用的终端节点,例如电子邮件、电话号码和移动应用程序。在向主题发送应用程序事件通知时,需要考虑以下指导原则:

  • 接收通知的每个主题应仅包含对以编程形式操作的终端节点的订阅,例如 HTTP 或 HTTPS 终端节点、Amazon SQS 队列或 AWS Lambda 函数。

  • 要减少通知触发的处理量,请将每个主题的订阅数限制在很小的数目(例如,五个或更少)。

您可以使用 Amazon SNS 控制台、AWS Command Line Interface (AWS CLI) 或 AWS 开发工具包发送应用程序事件通知。

AWS 管理控制台

  1. 登录 Amazon SNS 控制台

  2. 在导航面板中,选择移动推送通知

  3. Mobile push notifications (移动推送通知) 页上的平台应用程序部分中,选择应用程序,然后选择编辑

  4. 展开 Event notifications (事件通知) 部分。

  5. 依次选择 ActionsConfigure events

  6. 输入要用于以下事件的主题的 ARN:

    • 已创建终端节点

    • 已删除终端节点

    • 已更新终端节点

    • 传输失败

  7. 选择保存更改

AWS CLI

运行 set-platform-application-attributes 命令。

以下示例为全部四个应用程序事件设置相同的 Amazon SNS 主题:

aws sns set-platform-application-attributes --platform-application-arn arn:aws:sns:us-east-1:12345EXAMPLE:app/FCM/MyFCMPlatformApplication --attributes EventEndpointCreated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointDeleted="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointUpdated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventDeliveryFailure="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents"

AWS 软件开发工具包

根据您的目标编程语言或平台,调用以下 API 之一: