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

Amazon SNS 大型负载和原始消息传输

Amazon SNS (and Amazon SQS) 允许您发送大型有效负载消息(大小从 64 到 256 KB)。要发送大型有效负载,您必须使用支持签名版本 4 的 AWS 开发工具包。

除了发送大型负载外,凭借 Amazon SNS,对于传输到 Amazon SQS 终端节点或 HTTP/S 终端节点的消息,您现在还可以实现原始消息传输。这将无需使用这些终端节点来处理在未选择原始消息传输时为 Amazon SNS 元数据创建的 JSON 格式。例如,当针对 Amazon SQS 终端节点进行原始消息传输时,不包含 Amazon SNS 元数据,并且会将发布的消息按原样传输到订阅的 Amazon SQS 终端节点。当实现针对 HTTP/S 终端节点的原始消息传输时,这些消息将包含具有 x-amz-sns-rawdelivery 值的额外 HTTP 标头 true,以指示正在以原始格式而不是 JSON 格式发布此消息。这可使这些终端节点了解正在传输的内容,并可实现订阅从 JSON 到原始传输的更轻松转变。

若要使用一个 AWS 开发工具包来实现原始消息传输,必须使用 SetSubscriptionAttribute 操作并将 RawMessageDelivery 属性配置为 true 值。默认值为 false

利用 AWS 管理控制台实现原始消息传输

  1. 登录 Amazon SNS 控制台

  2. 在导航面板上,选择主题

  3. Topics (主题) 页面上,选择一个订阅了 Amazon SQS 或 HTTP/S 终端节点的主题。

  4. 我的主题页上的订阅部分中,选择一个订阅,然后选择编辑

  5. Edit EXAMPLE1-23bc-4567-d890-ef12g3hij456 (编辑示例1-23bc-4567-d890-ef12g3hij456) 页中,在详细信息部分选择 Enable raw message delivery (启用原始消息传输)

  6. 选择保存更改