SuperAPI AI 工具集

aws-sns

部署与运维

查看项目

更新于 10-16 07:42

技能介绍

用途

AWS SNS 技能用于在命令行环境中管理 Amazon SNS 的主题、订阅与通知发布,适合把发布、订阅、查看主题与订阅信息等日常操作集中在一套命令中完成。

主要能力

  • 列出主题:使用 aws sns list-topics 并以 --query 'Topics[].TopicArn' 与 table 输出查看主题 ARN 列表。
  • 获取主题属性:使用 aws sns get-topic-attributes --topic-arn "$SNS_TOPIC_ARN",通过 jq 提取 DisplayName、SubscriptionsConfirmed、SubscriptionsPending 等属性。
  • 列出订阅:使用 aws sns list-subscriptions-by-topic --topic-arn "$SNS_TOPIC_ARN",可查看每个订阅的 Endpoint、Protocol 与 SubscriptionArn(状态)。
  • 发布消息:使用 aws sns publish --topic-arn "$SNS_TOPIC_ARN",可指定 --subject 与 --message,并返回 MessageId。
  • 发布 JSON 消息:使用 aws sns publish 配合 --message-structure json 与 JSON 消息体,按协议(如 default、email、sms)提供不同内容。
  • 订阅端点:使用 aws sns subscribe --topic-arn "$SNS_TOPIC_ARN" --protocol 与 --notification-endpoint 创建订阅,并返回 SubscriptionArn。

使用方式

所有操作均以 aws sns 命令为基础,通常需要提供主题 ARN(示例中使用环境变量 $SNS_TOPIC_ARN)。输出可通过 --query 与 jq 进行字段筛选与格式化,例如提取 TopicArn 列表或 MessageId。

适用场景

  • 查看当前账号下的 SNS 主题清单。
  • 检查某个主题的订阅确认状态。
  • 向主题发布通知(如部署完成提示、告警)。
  • 按协议定制不同内容的消息(如邮件与短信内容不同)。
  • 为邮箱等端点创建订阅。

限制与注意事项

  • 邮件订阅需要接收方确认后才会生效。
  • 在执行发布或订阅端点操作前应先进行确认。
  • 其他限制(如权限要求、配额、区域配置等)暂未提供。