选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用亚马逊的SNS示例 AWS CLI

聚焦模式

本页内容

使用亚马逊的SNS示例 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以下代码示例向您展示如何在 Amazon 中使用来执行操作和实现常见场景SNS。 AWS Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

场景是向您展示如何通过在一个服务中调用多个函数或与其他 AWS 服务结合来完成特定任务的代码示例。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

操作

以下代码示例显示了如何使用add-permission

AWS CLI

为主题添加权限

以下add-permission示例添加了账户在 AWS AWS 账户987654321098下使用指定主题的Publish操作的权限123456789012

aws sns add-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission \ --aws-account-id 987654321098 \ --action-name Publish

此命令不生成任何输出。

以下代码示例显示了如何使用add-permission

AWS CLI

为主题添加权限

以下add-permission示例添加了账户在 AWS AWS 账户987654321098下使用指定主题的Publish操作的权限123456789012

aws sns add-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission \ --aws-account-id 987654321098 \ --action-name Publish

此命令不生成任何输出。

以下代码示例显示了如何使用check-if-phone-number-is-opted-out

AWS CLI

要查看SMS留言,请选择退出电话号码

以下check-if-phone-number-is-opted-out示例检查指定的电话号码是否已选择不接收来自当前 AWS 账户的SMS消息。

aws sns check-if-phone-number-is-opted-out \ --phone-number +1555550100

输出:

{ "isOptedOut": false }

以下代码示例显示了如何使用check-if-phone-number-is-opted-out

AWS CLI

要查看SMS留言,请选择退出电话号码

以下check-if-phone-number-is-opted-out示例检查指定的电话号码是否已选择不接收来自当前 AWS 账户的SMS消息。

aws sns check-if-phone-number-is-opted-out \ --phone-number +1555550100

输出:

{ "isOptedOut": false }

以下代码示例显示了如何使用confirm-subscription

AWS CLI

确认订阅

以下confirm-subscription命令完成订阅名my-topic为的SNS主题时启动的确认过程。--token 参数来自发送到订阅调用中指定的通知端点的确认消息。

aws sns confirm-subscription \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --token 2336412f37fb687f5d51e6e241d7700ae02f7124d8268910b858cb4db727ceeb2474bb937929d3bdd7ce5d0cce19325d036bc858d3c217426bcafa9c501a2cace93b83f1dd3797627467553dc438a8c974119496fc3eff026eaa5d14472ded6f9a5c43aec62d83ef5f49109da7176391

输出:

{ "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" }

以下代码示例显示了如何使用confirm-subscription

AWS CLI

确认订阅

以下confirm-subscription命令完成订阅名my-topic为的SNS主题时启动的确认过程。--token 参数来自发送到订阅调用中指定的通知端点的确认消息。

aws sns confirm-subscription \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --token 2336412f37fb687f5d51e6e241d7700ae02f7124d8268910b858cb4db727ceeb2474bb937929d3bdd7ce5d0cce19325d036bc858d3c217426bcafa9c501a2cace93b83f1dd3797627467553dc438a8c974119496fc3eff026eaa5d14472ded6f9a5c43aec62d83ef5f49109da7176391

输出:

{ "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" }

以下代码示例显示了如何使用create-platform-application

AWS CLI

创建平台应用程序

以下create-platform-application示例使用指定的平台凭据创建了一个 Google Firebase 平台应用程序。

aws sns create-platform-application \ --name MyApplication \ --platform GCM \ --attributes PlatformCredential=EXAMPLEabcd12345jklm67890stuv12345bcdef

输出:

{ "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication" }

以下代码示例显示了如何使用create-platform-application

AWS CLI

创建平台应用程序

以下create-platform-application示例使用指定的平台凭据创建了一个 Google Firebase 平台应用程序。

aws sns create-platform-application \ --name MyApplication \ --platform GCM \ --attributes PlatformCredential=EXAMPLEabcd12345jklm67890stuv12345bcdef

输出:

{ "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication" }

以下代码示例显示了如何使用create-topic

AWS CLI

创建 SNS 主题

以下create-topic示例创建了一个名为SNS的主题my-topic

aws sns create-topic \ --name my-topic

输出:

{ "ResponseMetadata": { "RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83" }, "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" }

有关更多信息,请参阅《 AWS 命令行界面用户指南》SNS中的在 Amazon SQS 和 Amazon 上使用AWS命令行界面

以下代码示例显示了如何使用create-topic

AWS CLI

创建 SNS 主题

以下create-topic示例创建了一个名为SNS的主题my-topic

aws sns create-topic \ --name my-topic

输出:

{ "ResponseMetadata": { "RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83" }, "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" }

有关更多信息,请参阅《 AWS 命令行界面用户指南》SNS中的在 Amazon SQS 和 Amazon 上使用AWS命令行界面

以下代码示例显示了如何使用delete-endpoint

AWS CLI

删除平台应用程序终端节点

以下delete-endpoint示例删除了指定的平台应用程序终端节点。

aws sns delete-endpoint \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

此命令不生成任何输出。

以下代码示例显示了如何使用delete-endpoint

AWS CLI

删除平台应用程序终端节点

以下delete-endpoint示例删除了指定的平台应用程序终端节点。

aws sns delete-endpoint \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

此命令不生成任何输出。

以下代码示例显示了如何使用delete-platform-application

AWS CLI

删除平台应用程序

以下delete-platform-application示例删除了指定的平台应用程序。

aws sns delete-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication

此命令不生成任何输出。

以下代码示例显示了如何使用delete-platform-application

AWS CLI

删除平台应用程序

以下delete-platform-application示例删除了指定的平台应用程序。

aws sns delete-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication

此命令不生成任何输出。

以下代码示例显示了如何使用delete-topic

AWS CLI

删除SNS主题

以下delete-topic示例删除了指定的SNS主题。

aws sns delete-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

此命令不生成任何输出。

以下代码示例显示了如何使用delete-topic

AWS CLI

删除SNS主题

以下delete-topic示例删除了指定的SNS主题。

aws sns delete-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

此命令不生成任何输出。

以下代码示例显示了如何使用get-endpoint-attributes

AWS CLI

列出平台应用程序终端节点属性

以下get-endpoint-attributes示例列出了指定平台应用程序终端节点的属性。

aws sns get-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

输出:

{ "Attributes": { "Enabled": "true", "Token": "EXAMPLE12345..." } }

以下代码示例显示了如何使用get-endpoint-attributes

AWS CLI

列出平台应用程序终端节点属性

以下get-endpoint-attributes示例列出了指定平台应用程序终端节点的属性。

aws sns get-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

输出:

{ "Attributes": { "Enabled": "true", "Token": "EXAMPLE12345..." } }

以下代码示例显示了如何使用get-platform-application-attributes

AWS CLI

列出平台应用程序的属性

以下get-platform-application-attributes示例列出了指定平台应用程序的属性。

aws sns get-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/MPNS/MyApplication

输出:

{ "Attributes": { "Enabled": "true", "SuccessFeedbackSampleRate": "100" } }

以下代码示例显示了如何使用get-platform-application-attributes

AWS CLI

列出平台应用程序的属性

以下get-platform-application-attributes示例列出了指定平台应用程序的属性。

aws sns get-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/MPNS/MyApplication

输出:

{ "Attributes": { "Enabled": "true", "SuccessFeedbackSampleRate": "100" } }

以下代码示例显示了如何使用get-sms-attributes

AWS CLI

列出默认SMS消息属性

以下get-sms-attributes示例列出了发送SMS消息的默认属性。

aws sns get-sms-attributes

输出:

{ "attributes": { "DefaultSenderID": "MyName" } }
  • 有关API详细信息,请参阅etSMSAttributes《AWS CLI 命令参考》中的 G

以下代码示例显示了如何使用get-sms-attributes

AWS CLI

列出默认SMS消息属性

以下get-sms-attributes示例列出了发送SMS消息的默认属性。

aws sns get-sms-attributes

输出:

{ "attributes": { "DefaultSenderID": "MyName" } }
  • 有关API详细信息,请参阅etSMSAttributes《AWS CLI 命令参考》中的 G

以下代码示例显示了如何使用get-subscription-attributes

AWS CLI

检索主题的订阅属性

下面get-subscription-attributes显示了指定订阅的属性。你可以subscription-arnlist-subscriptions命令的输出中获取。

aws sns get-subscription-attributes \ --subscription-arn "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"

输出:

{ "Attributes": { "Endpoint": "my-email@example.com", "Protocol": "email", "RawMessageDelivery": "false", "ConfirmationWasAuthenticated": "false", "Owner": "123456789012", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } }

以下代码示例显示了如何使用get-subscription-attributes

AWS CLI

检索主题的订阅属性

下面get-subscription-attributes显示了指定订阅的属性。你可以subscription-arnlist-subscriptions命令的输出中获取。

aws sns get-subscription-attributes \ --subscription-arn "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"

输出:

{ "Attributes": { "Endpoint": "my-email@example.com", "Protocol": "email", "RawMessageDelivery": "false", "ConfirmationWasAuthenticated": "false", "Owner": "123456789012", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } }

以下代码示例显示了如何使用get-topic-attributes

AWS CLI

检索主题的属性

以下 get-topic-attributes 示例将显示指定主题的属性。

aws sns get-topic-attributes \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

输出:

{ "Attributes": { "SubscriptionsConfirmed": "1", "DisplayName": "my-topic", "SubscriptionsDeleted": "0", "EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}", "Owner": "123456789012", "Policy": "{\"Version\":\"2008-10-17\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:DeleteTopic\",\"SNS:GetTopicAttributes\",\"SNS:Publish\",\"SNS:RemovePermission\",\"SNS:AddPermission\",\"SNS:SetTopicAttributes\"],\"Resource\":\"arn:aws:sns:us-west-2:123456789012:my-topic\",\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"0123456789012\"}}}]}", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionsPending": "0" } }

以下代码示例显示了如何使用get-topic-attributes

AWS CLI

检索主题的属性

以下 get-topic-attributes 示例将显示指定主题的属性。

aws sns get-topic-attributes \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

输出:

{ "Attributes": { "SubscriptionsConfirmed": "1", "DisplayName": "my-topic", "SubscriptionsDeleted": "0", "EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}", "Owner": "123456789012", "Policy": "{\"Version\":\"2008-10-17\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:DeleteTopic\",\"SNS:GetTopicAttributes\",\"SNS:Publish\",\"SNS:RemovePermission\",\"SNS:AddPermission\",\"SNS:SetTopicAttributes\"],\"Resource\":\"arn:aws:sns:us-west-2:123456789012:my-topic\",\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"0123456789012\"}}}]}", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionsPending": "0" } }

以下代码示例显示了如何使用list-endpoints-by-platform-application

AWS CLI

列出平台应用程序的终端节点

以下list-endpoints-by-platform-application示例列出了指定平台应用程序的终端节点和终端节点属性。

aws sns list-endpoints-by-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication

输出:

{ "Endpoints": [ { "Attributes": { "Token": "EXAMPLE12345..., "Enabled": "true" }, "EndpointArn": "arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" } ] }

以下代码示例显示了如何使用list-endpoints-by-platform-application

AWS CLI

列出平台应用程序的终端节点

以下list-endpoints-by-platform-application示例列出了指定平台应用程序的终端节点和终端节点属性。

aws sns list-endpoints-by-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication

输出:

{ "Endpoints": [ { "Attributes": { "Token": "EXAMPLE12345..., "Enabled": "true" }, "EndpointArn": "arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" } ] }

以下代码示例显示了如何使用list-phone-numbers-opted-out

AWS CLI

列出退出SMS留言

以下list-phone-numbers-opted-out示例列出了选择不接收SMS消息的电话号码。

aws sns list-phone-numbers-opted-out

输出:

{ "phoneNumbers": [ "+15555550100" ] }

以下代码示例显示了如何使用list-phone-numbers-opted-out

AWS CLI

列出退出SMS留言

以下list-phone-numbers-opted-out示例列出了选择不接收SMS消息的电话号码。

aws sns list-phone-numbers-opted-out

输出:

{ "phoneNumbers": [ "+15555550100" ] }

以下代码示例显示了如何使用list-platform-applications

AWS CLI

列出平台应用程序

以下list-platform-applications示例列出了ADM和的平台应用程序MPNS。

aws sns list-platform-applications

输出:

{ "PlatformApplications": [ { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } }, { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/MPNS/MyOtherApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } } ] }

以下代码示例显示了如何使用list-platform-applications

AWS CLI

列出平台应用程序

以下list-platform-applications示例列出了ADM和的平台应用程序MPNS。

aws sns list-platform-applications

输出:

{ "PlatformApplications": [ { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } }, { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/MPNS/MyOtherApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } } ] }

以下代码示例显示了如何使用list-subscriptions-by-topic

AWS CLI

列出与主题关联的订阅

以下内容list-subscriptions-by-topic检索与指定主题关联的SNS订阅列表。

aws sns list-subscriptions-by-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

输出:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

以下代码示例显示了如何使用list-subscriptions-by-topic

AWS CLI

列出与主题关联的订阅

以下内容list-subscriptions-by-topic检索与指定主题关联的SNS订阅列表。

aws sns list-subscriptions-by-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

输出:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

以下代码示例显示了如何使用list-subscriptions

AWS CLI

列出您的SNS订阅

以下list-subscriptions示例显示了您 AWS 账户中的SNS订阅列表。

aws sns list-subscriptions

输出:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

以下代码示例显示了如何使用list-subscriptions

AWS CLI

列出您的SNS订阅

以下list-subscriptions示例显示了您 AWS 账户中的SNS订阅列表。

aws sns list-subscriptions

输出:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

以下代码示例显示了如何使用list-tags-for-resource

AWS CLI

列出主题的标签

以下list-tags-for-resource示例列出了指定 Amazon SNS 主题的标签。

aws sns list-tags-for-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic

输出:

{ "Tags": [ { "Key": "Team", "Value": "Alpha" } ] }

以下代码示例显示了如何使用list-tags-for-resource

AWS CLI

列出主题的标签

以下list-tags-for-resource示例列出了指定 Amazon SNS 主题的标签。

aws sns list-tags-for-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic

输出:

{ "Tags": [ { "Key": "Team", "Value": "Alpha" } ] }

以下代码示例显示了如何使用list-topics

AWS CLI

列出你的SNS话题

以下list-topics示例列出了您 AWS 账户中的所有SNS主题。

aws sns list-topics

输出:

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }

以下代码示例显示了如何使用list-topics

AWS CLI

列出你的SNS话题

以下list-topics示例列出了您 AWS 账户中的所有SNS主题。

aws sns list-topics

输出:

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }

以下代码示例显示了如何使用opt-in-phone-number

AWS CLI

选择接收消息 SMS

以下opt-in-phone-number示例选择指定的电话号码接收SMS消息。

aws sns opt-in-phone-number \ --phone-number +15555550100

此命令不生成任何输出。

以下代码示例显示了如何使用opt-in-phone-number

AWS CLI

选择接收消息 SMS

以下opt-in-phone-number示例选择指定的电话号码接收SMS消息。

aws sns opt-in-phone-number \ --phone-number +15555550100

此命令不生成任何输出。

以下代码示例显示了如何使用publish

AWS CLI

示例 1:向主题发布消息

以下publish示例将指定的消息发布到指定的SNS主题。该消息来自一个文本文件,您可以在该文件中包含换行符。

aws sns publish \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \ --message file://message.txt

message.txt 的内容:

Hello World Second Line

输出:

{ "MessageId": "123a45b6-7890-12c3-45d6-111122223333" }

示例 2:向电话号码发布SMS消息

以下 publish 示例将消息 Hello world! 发布到电话号码 +1-555-555-0100

aws sns publish \ --message "Hello world!" \ --phone-number +1-555-555-0100

输出:

{ "MessageId": "123a45b6-7890-12c3-45d6-333322221111" }
  • 有关API详细信息,请参阅在《AWS CLI 命令参考》中发布

以下代码示例显示了如何使用publish

AWS CLI

示例 1:向主题发布消息

以下publish示例将指定的消息发布到指定的SNS主题。该消息来自一个文本文件,您可以在该文件中包含换行符。

aws sns publish \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \ --message file://message.txt

message.txt 的内容:

Hello World Second Line

输出:

{ "MessageId": "123a45b6-7890-12c3-45d6-111122223333" }

示例 2:向电话号码发布SMS消息

以下 publish 示例将消息 Hello world! 发布到电话号码 +1-555-555-0100

aws sns publish \ --message "Hello world!" \ --phone-number +1-555-555-0100

输出:

{ "MessageId": "123a45b6-7890-12c3-45d6-333322221111" }
  • 有关API详细信息,请参阅在《AWS CLI 命令参考》中发布

以下代码示例显示了如何使用put-data-protection-policy

AWS CLI

设置数据保护政策

示例 1:拒绝发布者使用发布消息 CreditCardNumber

以下put-data-protection-policy示例拒绝发布者使用发布消息 CreditCardNumber。

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-east-1:123456789012:mytopic \ --data-protection-policy "{\"Name\":\"data_protection_policy\",\"Description\":\"Example data protection policy\",\"Version\":\"2021-06-01\",\"Statement\":[{\"DataDirection\":\"Inbound\",\"Principal\":[\"*\"],\"DataIdentifier\":[\"arn:aws:dataprotection::aws:data-identifier/CreditCardNumber\"],\"Operation\":{\"Deny\":{}}}]}"

此命令不生成任何输出。

示例 2:从文件加载参数

以下内容从文件put-data-protection-policy加载参数。

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --data-protection-policy file://policy.json

此命令不生成任何输出。

以下代码示例显示了如何使用put-data-protection-policy

AWS CLI

设置数据保护政策

示例 1:拒绝发布者使用发布消息 CreditCardNumber

以下put-data-protection-policy示例拒绝发布者使用发布消息 CreditCardNumber。

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-east-1:123456789012:mytopic \ --data-protection-policy "{\"Name\":\"data_protection_policy\",\"Description\":\"Example data protection policy\",\"Version\":\"2021-06-01\",\"Statement\":[{\"DataDirection\":\"Inbound\",\"Principal\":[\"*\"],\"DataIdentifier\":[\"arn:aws:dataprotection::aws:data-identifier/CreditCardNumber\"],\"Operation\":{\"Deny\":{}}}]}"

此命令不生成任何输出。

示例 2:从文件加载参数

以下内容从文件put-data-protection-policy加载参数。

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --data-protection-policy file://policy.json

此命令不生成任何输出。

以下代码示例显示了如何使用remove-permission

AWS CLI

从主题中移除权限

以下remove-permission示例Publish-Permission从指定主题中移除权限。

aws sns remove-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission

此命令不生成任何输出。

以下代码示例显示了如何使用remove-permission

AWS CLI

从主题中移除权限

以下remove-permission示例Publish-Permission从指定主题中移除权限。

aws sns remove-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission

此命令不生成任何输出。

以下代码示例显示了如何使用set-endpoint-attributes

AWS CLI

设置端点属性

以下set-endpoint-attributes示例禁用了指定的平台应用程序终端节点。

aws sns set-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234 \ --attributes Enabled=false

输出:

{ "Attributes": { "Enabled": "false", "Token": "EXAMPLE12345..." } }

以下代码示例显示了如何使用set-endpoint-attributes

AWS CLI

设置端点属性

以下set-endpoint-attributes示例禁用了指定的平台应用程序终端节点。

aws sns set-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234 \ --attributes Enabled=false

输出:

{ "Attributes": { "Enabled": "false", "Token": "EXAMPLE12345..." } }

以下代码示例显示了如何使用set-platform-application-attributes

AWS CLI

设置平台应用程序属性

以下set-platform-application-attributes示例将指定平台应用程序的EventDeliveryFailure属性设置为指定 Amazon SNS 主题的。ARN

aws sns set-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --attributes EventDeliveryFailure=arn:aws:sns:us-west-2:123456789012:AnotherTopic

此命令不生成任何输出。

以下代码示例显示了如何使用set-platform-application-attributes

AWS CLI

设置平台应用程序属性

以下set-platform-application-attributes示例将指定平台应用程序的EventDeliveryFailure属性设置为指定 Amazon SNS 主题的。ARN

aws sns set-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --attributes EventDeliveryFailure=arn:aws:sns:us-west-2:123456789012:AnotherTopic

此命令不生成任何输出。

以下代码示例显示了如何使用set-sms-attributes

AWS CLI

设置SMS消息属性

以下set-sms-attributes示例将SMS邮件的默认发件人 ID 设置为MyName

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

此命令不生成任何输出。

  • 有关API详细信息,请参阅etSMSAttributes《AWS CLI 命令参考》中的 S

以下代码示例显示了如何使用set-sms-attributes

AWS CLI

设置SMS消息属性

以下set-sms-attributes示例将SMS邮件的默认发件人 ID 设置为MyName

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

此命令不生成任何输出。

  • 有关API详细信息,请参阅etSMSAttributes《AWS CLI 命令参考》中的 S

以下代码示例显示了如何使用set-subscription-attributes

AWS CLI

设置订阅属性

以下set-subscription-attributes示例将该RawMessageDelivery属性设置为订SQS阅。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name RawMessageDelivery \ --attribute-value true

此命令不生成任何输出。

以下set-subscription-attributes示例为SQS订阅设置一个FilterPolicy属性。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{ \"anyMandatoryKey\": [\"any\", \"of\", \"these\"] }"

此命令不生成任何输出。

以下set-subscription-attributes示例从SQS订阅中删除了该FilterPolicy属性。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{}"

此命令不生成任何输出。

以下代码示例显示了如何使用set-subscription-attributes

AWS CLI

设置订阅属性

以下set-subscription-attributes示例将该RawMessageDelivery属性设置为订SQS阅。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name RawMessageDelivery \ --attribute-value true

此命令不生成任何输出。

以下set-subscription-attributes示例为SQS订阅设置一个FilterPolicy属性。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{ \"anyMandatoryKey\": [\"any\", \"of\", \"these\"] }"

此命令不生成任何输出。

以下set-subscription-attributes示例从SQS订阅中删除了该FilterPolicy属性。

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{}"

此命令不生成任何输出。

以下代码示例显示了如何使用set-topic-attributes

AWS CLI

为主题设置属性

以下 set-topic-attributes 示例为指定主题设置 DisplayName 属性。

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name DisplayName \ --attribute-value MyTopicDisplayName

此命令不生成任何输出。

以下代码示例显示了如何使用set-topic-attributes

AWS CLI

为主题设置属性

以下 set-topic-attributes 示例为指定主题设置 DisplayName 属性。

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name DisplayName \ --attribute-value MyTopicDisplayName

此命令不生成任何输出。

以下代码示例显示了如何使用subscribe

AWS CLI

订阅主题

以下 subscribe 命令将电子邮件地址订阅到指定主题。

aws sns subscribe \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --protocol email \ --notification-endpoint my-email@example.com

输出:

{ "SubscriptionArn": "pending confirmation" }

以下代码示例显示了如何使用subscribe

AWS CLI

订阅主题

以下 subscribe 命令将电子邮件地址订阅到指定主题。

aws sns subscribe \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --protocol email \ --notification-endpoint my-email@example.com

输出:

{ "SubscriptionArn": "pending confirmation" }

以下代码示例显示了如何使用tag-resource

AWS CLI

为主题添加标签

以下tag-resource示例向指定的 Amazon SNS 主题添加元数据标签。

aws sns tag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tags Key=Team,Value=Alpha

此命令不生成任何输出。

以下代码示例显示了如何使用tag-resource

AWS CLI

为主题添加标签

以下tag-resource示例向指定的 Amazon SNS 主题添加元数据标签。

aws sns tag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tags Key=Team,Value=Alpha

此命令不生成任何输出。

以下代码示例显示了如何使用unsubscribe

AWS CLI

从主题取消订阅

以下 unsubscribe 示例将从主题删除指定的订阅。

aws sns unsubscribe \ --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f

此命令不生成任何输出。

  • 有关API详细信息,请参阅《AWS CLI 命令参考》中的 “取消订阅”。

以下代码示例显示了如何使用unsubscribe

AWS CLI

从主题取消订阅

以下 unsubscribe 示例将从主题删除指定的订阅。

aws sns unsubscribe \ --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f

此命令不生成任何输出。

  • 有关API详细信息,请参阅《AWS CLI 命令参考》中的 “取消订阅”。

以下代码示例显示了如何使用untag-resource

AWS CLI

从主题中移除标签

以下untag-resource示例从指定的 Amazon SNS 主题中删除所有带有指定密钥的标签。

aws sns untag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tag-keys Team

此命令不生成任何输出。

以下代码示例显示了如何使用untag-resource

AWS CLI

从主题中移除标签

以下untag-resource示例从指定的 Amazon SNS 主题中删除所有带有指定密钥的标签。

aws sns untag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tag-keys Team

此命令不生成任何输出。

场景

以下代码示例显示如何为 Amazon SNS 推送通知创建平台终端节点。

AWS CLI

创建平台应用程序端点

以下 create-platform-endpoint 示例使用指定令牌为指定平台应用程序创建端点。

aws sns create-platform-endpoint \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --token EXAMPLE12345...

输出:

{ "EndpointArn": "arn:aws:sns:us-west-2:1234567890:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" }

以下代码示例显示如何为 Amazon SNS 推送通知创建平台终端节点。

AWS CLI

创建平台应用程序端点

以下 create-platform-endpoint 示例使用指定令牌为指定平台应用程序创建端点。

aws sns create-platform-endpoint \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --token EXAMPLE12345...

输出:

{ "EndpointArn": "arn:aws:sns:us-west-2:1234567890:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" }

下一主题:

Amazon SQS

上一主题:

Snowball
隐私网站条款Cookie 首选项
© 2024, Amazon Web Services, Inc. 或其附属公司。保留所有权利。