

# Exemplos do Amazon SNS usando o AWS CLI
<a name="cli_sns_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon SNS.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

*Cenários* são exemplos de código que mostram como realizar tarefas específicas chamando várias funções dentro de um serviço ou combinadas com outros Serviços da AWS.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)
+ [Cenários](#scenarios)

## Ações
<a name="actions"></a>

### `add-permission`
<a name="sns_AddPermission_cli_topic"></a>

O código de exemplo a seguir mostra como usar `add-permission`.

**AWS CLI**  
**Para adicionar uma permissão a um tópico**  
O exemplo `add-permission` a seguir adiciona a permissão para que a conta da AWS `987654321098` use a ação `Publish` com o tópico especificado na conta da AWS `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
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [AddPermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/add-permission.html) na *Referência de comandos da AWS CLI*. 

### `check-if-phone-number-is-opted-out`
<a name="sns_CheckIfPhoneNumberIsOptedOut_cli_topic"></a>

O código de exemplo a seguir mostra como usar `check-if-phone-number-is-opted-out`.

**AWS CLI**  
**Para verificar o cancelamento de mensagens SMS para um número de telefone**  
O exemplo `check-if-phone-number-is-opted-out` a seguir verifica se o número de telefone especificado cancelou o recebimento de mensagens SMS em sua conta da AWS atual.  

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

```
{
    "isOptedOut": false
}
```
+  Consulte detalhes da API em [CheckIfPhoneNumberIsOptedOut](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/check-if-phone-number-is-opted-out.html) na *Referência de comandos da AWS CLI*. 

### `confirm-subscription`
<a name="sns_ConfirmSubscription_cli_topic"></a>

O código de exemplo a seguir mostra como usar `confirm-subscription`.

**AWS CLI**  
**Para confirmar uma assinatura**  
O comando `confirm-subscription` a seguir conclui o processo de confirmação iniciado quando você se inscreveu em um tópico do SNS chamado `my-topic`. O parâmetro --token vem da mensagem de confirmação enviada ao endpoint de notificação especificado na chamada de assinatura.  

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

```
{
    "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"
}
```
+  Consulte detalhes da API em [ConfirmSubscription](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/confirm-subscription.html) na *Referência de comandos da AWS CLI*. 

### `create-platform-application`
<a name="sns_CreatePlatformApplication_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-platform-application`.

**AWS CLI**  
**Para criar uma aplicação de plataforma**  
O exemplo `create-platform-application` a seguir cria uma aplicação para a plataforma Google Firebase usando a credencial de plataforma especificada.  

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

```
{
    "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication"
}
```
+  Para ver detalhes da API, consulte [CreatePlatformApplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/create-platform-application.html) na *Referência de comandos da AWS CLI*. 

### `create-topic`
<a name="sns_CreateTopic_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-topic`.

**AWS CLI**  
**Para criar um tópico do SNS**  
O exemplo `create-topic` a seguir cria um tópico do SNS chamado `my-topic`.  

```
aws sns create-topic \
    --name my-topic
```
Resultado:  

```
{
    "ResponseMetadata": {
        "RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83"
    },
    "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}
```
Para obter mais informações, consulte [Usar a interface da linha de comando da AWS com o Amazon SQS e o Amazon SNS](https://docs.aws.amazon.com/cli/latest/userguide/cli-sqs-queue-sns-topic.html) no *Guia do usuário da interface da linha de comando da AWS*.  
+  Consulte detalhes da API em [CreateTopic](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/create-topic.html) na *Referência de comandos da AWS CLI*. 

### `delete-endpoint`
<a name="sns_DeleteEndpoint_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-endpoint`.

**AWS CLI**  
**Para excluir um endpoint de aplicação de plataforma**  
O exemplo `delete-endpoint` a seguir exclui o endpoint da aplicação de plataforma especificada.  

```
aws sns delete-endpoint \
    --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [DeleteEndpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/delete-endpoint.html) na *Referência de comandos da AWS CLI*. 

### `delete-platform-application`
<a name="sns_DeletePlatformApplication_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-platform-application`.

**AWS CLI**  
**Para excluir uma aplicação de plataforma**  
O exemplo `delete-platform-application` a seguir exclui a aplicação de plataforma especificada.  

```
aws sns delete-platform-application \
    --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [DeletePlatformApplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/delete-platform-application.html) na *Referência de comandos da AWS CLI*. 

### `delete-topic`
<a name="sns_DeleteTopic_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-topic`.

**AWS CLI**  
**Para excluir um tópico do SNS**  
O exemplo `delete-topic` a seguir exclui o tópico do SNS especificado.  

```
aws sns delete-topic \
    --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"
```
Este comando não produz saída.  
+  Consulte detalhes da API em [DeleteTopic](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/delete-topic.html) na *Referência de comandos da AWS CLI*. 

### `get-endpoint-attributes`
<a name="sns_GetEndpointAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-endpoint-attributes`.

**AWS CLI**  
**Para listar os atributos do endpoint de aplicação de plataforma**  
O exemplo `get-endpoint-attributes` a seguir lista os atributos do endpoint da aplicação de plataforma especificada.  

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

```
{
    "Attributes": {
        "Enabled": "true",
        "Token": "EXAMPLE12345..."
    }
}
```
+  Para ver detalhes da API, consulte [GetEndpointAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/get-endpoint-attributes.html) na *Referência de comandos da AWS CLI*. 

### `get-platform-application-attributes`
<a name="sns_GetPlatformApplicationAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-platform-application-attributes`.

**AWS CLI**  
**Para listar os atributos de aplicação de plataforma**  
O exemplo `get-platform-application-attributes` a seguir lista os atributos da aplicação de plataforma especificada.  

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

```
{
    "Attributes": {
        "Enabled": "true",
        "SuccessFeedbackSampleRate": "100"
    }
}
```
+  Para ver detalhes da API, consulte [GetPlatformApplicationAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/get-platform-application-attributes.html) na *Referência de comandos da AWS CLI*. 

### `get-sms-attributes`
<a name="sns_GetSMSAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-sms-attributes`.

**AWS CLI**  
**Para listar os atributos padrão da mensagem SMS**  
O exemplo `get-sms-attributes` a seguir lista os atributos padrão para o envio de mensagens SMS.  

```
aws sns get-sms-attributes
```
Resultado:  

```
{
    "attributes": {
        "DefaultSenderID": "MyName"
    }
}
```
+  Consulte detalhes da API em [GetSMSAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/get-sms-attributes.html) na *Referência de comandos da AWS CLI*. 

### `get-subscription-attributes`
<a name="sns_GetSubscriptionAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-subscription-attributes`.

**AWS CLI**  
**Para recuperar atributos de assinatura de um tópico**  
O `get-subscription-attributes` a seguir exibe os atributos da assinatura especificada. É possível obter o `subscription-arn` a partir da saída do comando `list-subscriptions`.  

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

```
{
    "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"
    }
}
```
+  Para ver detalhes da API, consulte [GetSubscriptionAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/get-subscription-attributes.html) na *Referência de comandos da AWS CLI*. 

### `get-topic-attributes`
<a name="sns_GetTopicAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-topic-attributes`.

**AWS CLI**  
**Para recuperar os atributos de um tópico**  
O exemplo `get-topic-attributes` a seguir exibe os atributos do tópico especificado.  

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

```
{
    "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"
    }
}
```
+  Consulte detalhes da API em [GetTopicAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/get-topic-attributes.html) na *Referência de comandos da AWS CLI*. 

### `list-endpoints-by-platform-application`
<a name="sns_ListEndpointsByPlatformApplication_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-endpoints-by-platform-application`.

**AWS CLI**  
**Para listar os endpoints de uma aplicação de plataforma**  
O exemplo `list-endpoints-by-platform-application` a seguir lista os endpoints e os atributos do endpoint para a aplicação de plataforma especificada.  

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

```
{
    "Endpoints": [
        {
            "Attributes": {
                "Token": "EXAMPLE12345...,
                "Enabled": "true"
            },
            "EndpointArn": "arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234"
        }
    ]
}
```
+  Para ver detalhes da API, consulte [ListEndpointsByPlatformApplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-endpoints-by-platform-application.html) na *Referência de comandos da AWS CLI*. 

### `list-phone-numbers-opted-out`
<a name="sns_ListPhoneNumbersOptedOut_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-phone-numbers-opted-out`.

**AWS CLI**  
**Para listar as opções de cancelamento de mensagens SMS**  
O exemplo `list-phone-numbers-opted-out` a seguir lista os números de telefone que optaram por não receber mensagens SMS.  

```
aws sns list-phone-numbers-opted-out
```
Resultado:  

```
{
    "phoneNumbers": [
        "+15555550100"
    ]
}
```
+  Consulte detalhes da API em [ListPhoneNumbersOptedOut](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-phone-numbers-opted-out.html) na *Referência de comandos da AWS CLI*. 

### `list-platform-applications`
<a name="sns_ListPlatformApplications_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-platform-applications`.

**AWS CLI**  
**Para listar as aplicações de plataforma**  
O exemplo `list-platform-applications` a seguir lista as aplicações de plataforma para ADM e MPNS.  

```
aws sns list-platform-applications
```
Resultado:  

```
{
    "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"
            }
        }
    ]
}
```
+  Para ver detalhes da API, consulte [ListPlatformApplications](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-platform-applications.html) na *Referência de comandos da AWS CLI*. 

### `list-subscriptions-by-topic`
<a name="sns_ListSubscriptionsByTopic_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-subscriptions-by-topic`.

**AWS CLI**  
**Para listar as assinaturas associadas a um tópico**  
O `list-subscriptions-by-topic` a seguir recupera uma lista de assinaturas do SNS associadas ao tópico especificado.  

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

```
{
    "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"
        }
    ]
}
```
+  Para ver detalhes da API, consulte [ListSubscriptionsByTopic](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-subscriptions-by-topic.html) na *Referência de comandos da AWS CLI*. 

### `list-subscriptions`
<a name="sns_ListSubscriptions_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-subscriptions`.

**AWS CLI**  
**Para listar suas assinaturas do SNS**  
O exemplo `list-subscriptions` a seguir exibe uma lista das assinaturas do SNS em sua conta da AWS.  

```
aws sns list-subscriptions
```
Resultado:  

```
{
    "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"
        }
    ]
}
```
+  Consulte detalhes da API em [ListSubscriptions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-subscriptions.html) na *Referência de comandos da AWS CLI*. 

### `list-tags-for-resource`
<a name="sns_ListTagsForResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-tags-for-resource`.

**AWS CLI**  
**Para listar tags para um tópico**  
O exemplo `list-tags-for-resource` a seguir lista as tags para o tópico do Amazon SNS especificado.  

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

```
{
    "Tags": [
        {
            "Key": "Team",
            "Value": "Alpha"
        }
    ]
}
```
+  Para obter detalhes sobre a API, consulte [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-tags-for-resource.html) na *AWS CLI Command Reference*. 

### `list-topics`
<a name="sns_ListTopics_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-topics`.

**AWS CLI**  
**Listar os tópicos do SNS**  
O exemplo `list-topics` a seguir lista todos os tópicos do SNS em sua conta da AWS.  

```
aws sns list-topics
```
Resultado:  

```
{
    "Topics": [
        {
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
        }
    ]
}
```
+  Consulte detalhes da API em [ListTopics](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/list-topics.html) na *Referência de comandos da AWS CLI*. 

### `opt-in-phone-number`
<a name="sns_OptInPhoneNumber_cli_topic"></a>

O código de exemplo a seguir mostra como usar `opt-in-phone-number`.

**AWS CLI**  
**Como optar por receber mensagens SMS**  
O exemplo `opt-in-phone-number` a seguir aceita o recebimento de mensagens SMS para os números de telefone especificados.  

```
aws sns opt-in-phone-number \
    --phone-number +15555550100
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [OptInPhoneNumber](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/opt-in-phone-number.html) na *Referência de comandos da AWS CLI*. 

### `publish`
<a name="sns_Publish_cli_topic"></a>

O código de exemplo a seguir mostra como usar `publish`.

**AWS CLI**  
**Exemplo 1: Para publicar uma mensagem em um tópico**  
O exemplo `publish` a seguir publica a mensagem específica no tópico do SNS especificado. A mensagem é proveniente de um arquivo de texto, o que permite incluir quebras de linha.  

```
aws sns publish \
    --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
    --message file://message.txt
```
Conteúdo de `message.txt`:  

```
Hello World
Second Line
```
Resultado:  

```
{
    "MessageId": "123a45b6-7890-12c3-45d6-111122223333"
}
```
**Exemplo 2: Para publicar uma mensagem SMS em um número de telefone**  
O exemplo `publish` a seguir publica a mensagem `Hello world!` no número de telefone `+1-555-555-0100`.  

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

```
{
    "MessageId": "123a45b6-7890-12c3-45d6-333322221111"
}
```
+  Consulte detalhes da API em [Publish](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/publish.html) na *Referência de comandos da AWS CLI*. 

### `put-data-protection-policy`
<a name="sns_PutDataProtectionPolicy_cli_topic"></a>

O código de exemplo a seguir mostra como usar `put-data-protection-policy`.

**AWS CLI**  
**Como definir uma política de proteção de dados**  
**Exemplo 1: impedir que os publicadores publiquem mensagens com CreditCardNumber**  
O exemplo `put-data-protection-policy` a seguir impede que os publicadores publiquem mensagens com 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\":{}}}]}"
```
Este comando não produz saída.  
**Exemplo 2: carregar os parâmetros a partir de um arquivo**  
O exemplo `put-data-protection-policy` a seguir carrega os parâmetros de um arquivo.  

```
aws sns put-data-protection-policy \
    --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --data-protection-policy file://policy.json
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [PutDataProtectionPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/put-data-protection-policy.html) na *Referência de comandos da AWS CLI*. 

### `remove-permission`
<a name="sns_RemovePermission_cli_topic"></a>

O código de exemplo a seguir mostra como usar `remove-permission`.

**AWS CLI**  
**Para remover uma permissão de um tópico**  
O exemplo `remove-permission` a seguir remove a permissão `Publish-Permission` do tópico especificado.  

```
aws sns remove-permission \
    --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --label Publish-Permission
```
Este comando não produz saída.  
+  Consulte detalhes da API em [RemovePermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/remove-permission.html) na *Referência de comandos da AWS CLI*. 

### `set-endpoint-attributes`
<a name="sns_SetEndpointAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `set-endpoint-attributes`.

**AWS CLI**  
**Como configurar atributos do endpoint**  
O exemplo `set-endpoint-attributes` a seguir desabilita o endpoint da aplicação de plataforma especificada.  

```
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
```
Resultado:  

```
{
    "Attributes": {
        "Enabled": "false",
        "Token": "EXAMPLE12345..."
    }
}
```
+  Para ver detalhes da API, consulte [SetEndpointAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/set-endpoint-attributes.html) na *Referência de comandos da AWS CLI*. 

### `set-platform-application-attributes`
<a name="sns_SetPlatformApplicationAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `set-platform-application-attributes`.

**AWS CLI**  
**Como configurar atributos de aplicação de plataforma**  
O exemplo `set-platform-application-attributes` a seguir define o atributo `EventDeliveryFailure` da aplicação de plataforma especificada para o ARN do tópico especificado do Amazon SNS.  

```
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
```
Este comando não produz saída.  
+  Para ver detalhes da API, consulte [SetPlatformApplicationAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/set-platform-application-attributes.html) na *Referência de comandos da AWS CLI*. 

### `set-sms-attributes`
<a name="sns_SetSMSAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `set-sms-attributes`.

**AWS CLI**  
**Para definir atributos de mensagens SMS**  
O exemplo `set-sms-attributes` a seguir define o ID do remetente padrão para mensagens SMS como `MyName`.  

```
aws sns set-sms-attributes \
    --attributes DefaultSenderID=MyName
```
Este comando não produz saída.  
+  Para encontrar detalhes da API, consulte [SetSMSAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/set-sms-attributes.html) na *Referência de comandos da AWS CLI*. 

### `set-subscription-attributes`
<a name="sns_SetSubscriptionAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `set-subscription-attributes`.

**AWS CLI**  
**Para definir atributos de assinatura**  
O exemplo `set-subscription-attributes` a seguir define o atributo `RawMessageDelivery` para uma assinatura do 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
```
Este comando não produz saída.  
O exemplo `set-subscription-attributes` a seguir define um atributo `FilterPolicy` para uma assinatura do SQS.  

```
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\"] }"
```
Este comando não produz saída.  
O exemplo `set-subscription-attributes` a seguir remove o atributo `FilterPolicy` de uma assinatura do SQS.  

```
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 "{}"
```
Este comando não produz saída.  
+  Consulte detalhes da API em [SetSubscriptionAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/set-subscription-attributes.html) na *Referência de comandos da AWS CLI*. 

### `set-topic-attributes`
<a name="sns_SetTopicAttributes_cli_topic"></a>

O código de exemplo a seguir mostra como usar `set-topic-attributes`.

**AWS CLI**  
**Para definir um atributo para um tópico**  
O exemplo `set-topic-attributes` a seguir define o atributo `DisplayName` para o tópico especificado.  

```
aws sns set-topic-attributes \
    --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --attribute-name DisplayName \
    --attribute-value MyTopicDisplayName
```
Este comando não produz saída.  
+  Consulte detalhes da API em [SetTopicAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/set-topic-attributes.html) na *Referência de comandos da AWS CLI*. 

### `subscribe`
<a name="sns_Subscribe_cli_topic"></a>

O código de exemplo a seguir mostra como usar `subscribe`.

**AWS CLI**  
**Para inscrever-se em um tópico**  
O comando `subscribe` a seguir inscreve um endereço de e-mail no tópico especificado.  

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

```
{
    "SubscriptionArn": "pending confirmation"
}
```
+  Consulte detalhes da API em [Subscribe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/subscribe.html) na *Referência de comandos da AWS CLI*. 

### `tag-resource`
<a name="sns_TagResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `tag-resource`.

**AWS CLI**  
**Para adicionar uma tag a um tópico**  
O exemplo `tag-resource` a seguir adiciona uma tag de metadados ao tópico do Amazon SNS especificado.  

```
aws sns tag-resource \
    --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --tags Key=Team,Value=Alpha
```
Este comando não produz saída.  
+  Consulte detalhes da API em [TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/tag-resource.html) na *Referência de comandos da AWS CLI*. 

### `unsubscribe`
<a name="sns_Unsubscribe_cli_topic"></a>

O código de exemplo a seguir mostra como usar `unsubscribe`.

**AWS CLI**  
**Para cancelar a assinatura de um tópico**  
O exemplo `unsubscribe` a seguir exclui a assinatura especificada de um tópico.  

```
aws sns unsubscribe \
    --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f
```
Este comando não produz saída.  
+  Consulte detalhes da API em [Unsubscribe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/unsubscribe.html) na *Referência de comandos da AWS CLI*. 

### `untag-resource`
<a name="sns_UntagResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `untag-resource`.

**AWS CLI**  
**Para remover uma tag de um tópico**  
O exemplo `untag-resource` a seguir remove todas as tags com as chaves especificadas do tópico do Amazon SNS especificado.  

```
aws sns untag-resource \
    --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --tag-keys Team
```
Este comando não produz saída.  
+  Para obter detalhes sobre a API, consulte [UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sns/untag-resource.html) na *Referência de comandos da AWS CLI*. 

## Cenários
<a name="scenarios"></a>

### Criar um endpoint de plataforma para notificações por push
<a name="sns_CreatePlatformEndpoint_cli_topic"></a>

O exemplo de código a seguir mostra como criar um endpoint de plataforma para notificações por push do Amazon SNS.

**AWS CLI**  
**Para criar um endpoint de aplicação de plataforma**  
O exemplo `create-platform-endpoint` a seguir cria um endpoint para a aplicação de plataforma especificada usando o token especificado.  

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

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