SuperAPI AI 工具集

awsflow-sns

部署与运维

查看项目

更新于 10-16 10:35

技能介绍

用途

awsflow-sns 用于管理 Amazon SNS 主题、订阅、发布、平台应用、SMS 和端点。当用户需要了解 SNS 主题或通知、向主题发布消息、检查订阅或端点、询问 SMS 或推送通知、检查数据保护策略或沙箱状态,或需要创建/删除主题、订阅、端点以及配置主题或订阅属性时,可使用本技能。

主要能力

查询与列表

  • ListTopics:列出所有 SNS 主题,支持 NextToken 分页。
  • GetTopicAttributes:获取主题属性(策略、订阅数量等),需提供 TopicArn。
  • ListSubscriptions:列出所有订阅,支持 NextToken 分页。
  • ListSubscriptionsByTopic:列出指定主题的订阅,需提供 TopicArn,支持 NextToken 分页。
  • GetSubscriptionAttributes:获取订阅属性,需提供 SubscriptionArn。
  • ListTagsForResource:列出 SNS 资源的标签,需提供 ResourceArn。
  • ListPlatformApplications:列出推送通知平台应用,支持 NextToken 分页。
  • GetPlatformApplicationAttributes:获取平台应用属性,需提供 PlatformApplicationArn。
  • ListEndpointsByPlatformApplication:列出平台应用的端点,需提供 PlatformApplicationArn。
  • GetEndpointAttributes:获取端点属性,需提供 EndpointArn。

SMS 与数据保护

  • GetSMSAttributes:获取 SMS 发送属性,可指定要检索的属性名数组,如 DefaultSMSType、MonthlySpendLimit。
  • GetSMSSandboxAccountStatus:检查账户是否处于 SMS 沙箱,无需参数。
  • GetDataProtectionPolicy:获取主题的数据保护策略,需提供 ResourceArn。
  • CheckIfPhoneNumberIsOptedOut:检查手机号是否已退订,需提供 E.164 格式手机号。
  • ListPhoneNumbersOptedOut:列出已退订的手机号。
  • ListOriginationNumbers:列出原始电话号码。

发布消息

  • Publish:向主题发布消息。需提供 TopicArn 和 Message;可选 Subject(用于邮件订阅)、TargetArn(直发)、phoneNumber(SMS 的 E.164 号码)、MessageStructure(设为 json 以按协议发送不同消息)、MessageAttributes(自定义消息属性)。

生命周期操作

  • CreateTopic:创建新主题,需提供 Name。
  • Subscribe:订阅端点至主题,需提供 TopicArn、Protocol、Endpoint。
  • ConfirmSubscription:确认基于令牌的订阅,需提供 TopicArn 和 Token。
  • Unsubscribe:取消订阅,需提供 SubscriptionArn。
  • SetTopicAttributes:更新主题属性,需提供 TopicArn、AttributeName、AttributeValue。
  • SetSubscriptionAttributes:更新订阅属性,需提供 SubscriptionArn、AttributeName、AttributeValue。
  • CreatePlatformApplication:创建平台应用,需提供 Name、Platform、Attributes(如 PlatformCredential)。
  • CreatePlatformEndpoint:创建平台端点,需提供 PlatformApplicationArn 和 Token。
  • DeleteTopic:删除主题,需提供 TopicArn。
  • DeletePlatformApplication:删除平台应用,需提供 PlatformApplicationArn。
  • DeleteEndpoint:删除端点,需提供 EndpointArn。
  • TagResource:为 SNS 资源添加标签,需提供 ResourceArn 和 Tags 数组(Key/Value)。
  • UntagResource:移除 SNS 资源标签,需提供 ResourceArn 和 TagKeys 数组。

使用方式

通过 SNSTool 执行 AWS SNS 命令,且始终需要提供 params 对象。命令以 JSON 形式描述,例如列出主题为 { "command": "ListTopics", "params": {} },发布消息为 { "command": "Publish", "params": { "TopicArn": "arn:aws:sns:...", "Message": "Hello World", "Subject": "Test" } },创建主题为 { "command": "CreateTopic", "params": { "Name": "alerts" } }。各命令的参数类型、是否必填与说明见上方主要能力中的描述。

适用场景与关联服务

  • SNS → SQS:SNS 主题常订阅 SQS 队列实现扇出。可用 ListSubscriptionsByTopic 查找 SQS 订阅,再用 SQSTool 检查队列。
  • SNS → Lambda:SNS 可触发 Lambda 函数。可用 ListSubscriptionsByTopic 查找 Lambda 订阅。
  • SNS → S3:S3 事件通知可发布到 SNS。可用 S3Tool GetBucketNotificationConfiguration 查找主题。
  • SNS → CloudWatch:SNS 投递指标位于 CloudWatch Metrics。
  • SNS → CloudFormation:SNS 资源可由 CloudFormation 栈管理。

限制

资料未提供收费、价格、平台支持范围、安装命令、版本与配额等信息,暂未提供。