SuperAPI AI 工具集

sns

部署与运维

查看项目

更新于 10-15 22:38

技能介绍

用途:Amazon Simple Notification Service(SNS)是全托管的发布/订阅消息服务,用于应用间(A2A)与应用到人(A2P)通信。发布者向主题发送消息,订阅者从主题接收消息。

主要能力:主题分标准(尽力排序、至少一次)与 FIFO(严格排序、恰好一次)。订阅协议包括 Lambda、SQS、HTTP/HTTPS、Email、SMS、Application(移动推送)。支持基于消息属性的消息过滤,将消息路由到特定订阅者。

使用方式:可用 AWS CLI 或 boto3。创建主题:aws sns create-topic --name my-topic;FIFO 主题加 --attributes FifoTopic=true 且名称以 .fifo 结尾。订阅示例:aws sns subscribe --topic-arn <ARN> --protocol lambda --notification-endpoint <Lambda ARN>,协议可换 sqs、email 等。发布:aws sns publish --topic-arn <ARN> --message '...'。boto3 中调用 sns.create_topic、sns.subscribe、sns.publish,过滤策略通过订阅属性 FilterPolicy 设置,支持精确匹配、前缀、数值比较、exists、anything-but 等。

常见模式:扇出(SNS 到多个 SQS),一次发布触达多个队列;Lambda 订阅需用 aws lambda add-permission 授予 sns.amazonaws.com 调用权限。

最佳实践与限制:可靠性上建议用 SQS 保证持久性、为 HTTP/HTTPS 配置重试与 DLQ、需要顺序时用 FIFO;安全上使用主题策略、SSE 加密与 VPC 端点;消息大小上限 256 KB,用消息属性做路由。排障时检查订阅是否已确认、过滤策略是否匹配消息属性(属性须放在 MessageAttributes 而非消息体)、目标权限与 SQS 队列策略。

资料未提供具体收费与价格信息。