

# Acesso ao Amazon SNS na AWS CLI
<a name="cli-services-sns"></a>

É possível acessar os recursos do Amazon Simple Notification Service (Amazon SNS) usando a AWS Command Line Interface (AWS CLI). Para listar os comandos da AWS CLI para o Amazon SNS, use o comando a seguir.

```
aws sns help
```

Antes de executar quaisquer comandos, defina suas credenciais padrão. Para obter mais informações, consulte [Como definir as configurações da AWS CLI](cli-chap-configure.md).

Este tópico mostra exemplos de comandos da AWS CLI que executam tarefas comuns para o Amazon SNS.

**Topics**
+ [Criar um tópico](#cli-create-sns-topic)
+ [Assinar um tópico](#cli-subscribe-sns-topic)
+ [Publicar em um tópico](#cli-publish-sns-topic)
+ [Cancelar a assinatura de um tópico](#cli-unsubscribe-sns-topic)
+ [Excluir um tópico](#cli-delete-sns-topic)

## Criar um tópico
<a name="cli-create-sns-topic"></a>

Para criar um tópico, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/create-topic.html](https://docs.aws.amazon.com/cli/latest/reference/sns/create-topic.html) e especifique o nome a ser atribuído a ele.

```
$ aws sns create-topic --name my-topic
{
    "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}
```

Anote o `TopicArn` da resposta que você usará mais tarde para publicar uma mensagem.

## Assinar um tópico
<a name="cli-subscribe-sns-topic"></a>

Para assinar um tópico, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/subscribe.html](https://docs.aws.amazon.com/cli/latest/reference/sns/subscribe.html). 

O exemplo a seguir especifica o protocolo `email` e um endereço de e-mail para o `notification-endpoint`.

```
$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --protocol email --notification-endpoint saanvi@example.com
{
    "SubscriptionArn": "pending confirmation"
}
```

O AWS envia imediatamente uma mensagem de confirmação para o endereço de e-mail especificado no comando `subscribe`. A mensagem de e-mail tem o seguinte texto.

```
You have chosen to subscribe to the topic:
arn:aws:sns:us-west-2:123456789012:my-topic
To confirm this subscription, click or visit the following link (If this was in error no action is necessary):
Confirm subscription
```

Assim que o destinatário clicar no link **Confirm subscription (Confirmar assinatura)**, o navegador do destinatário exibirá uma mensagem de notificação com informações semelhantes à seguinte.

```
Subscription confirmed!

You have subscribed saanvi@example.com to the topic:my-topic.

Your subscription's id is:
arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

If it was not your intention to subscribe, click here to unsubscribe.
```

## Publicar em um tópico
<a name="cli-publish-sns-topic"></a>

Para enviar uma mensagem a todos os assinantes de um tópico, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html](https://docs.aws.amazon.com/cli/latest/reference/sns/publish.html). 

O exemplo a seguir envia a mensagem “Hello World\$1” para todos os assinantes do tópico especificado.

```
$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"
{
    "MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"
}
```

Neste exemplo, a AWS envia uma mensagem de e-mail com o texto “Hello World\$1” para `saanvi@example.com`.

## Cancelar a assinatura de um tópico
<a name="cli-unsubscribe-sns-topic"></a>

Para cancelar a assinatura de um tópico e parar de receber as mensagens publicadas nesse tópico, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/unsubscribe.html](https://docs.aws.amazon.com/cli/latest/reference/sns/unsubscribe.html) e especifique o ARN do tópico do qual você deseja cancelar a assinatura.

```
$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE
```

Para verificar se a assinatura foi cancelada com êxito, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/list-subscriptions.html](https://docs.aws.amazon.com/cli/latest/reference/sns/list-subscriptions.html) para confirmar que o ARN não aparece mais na lista.

```
$ aws sns list-subscriptions
```

## Excluir um tópico
<a name="cli-delete-sns-topic"></a>

Para excluir um tópico, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/delete-topic.html](https://docs.aws.amazon.com/cli/latest/reference/sns/delete-topic.html).

```
$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic
```

Para verificar se a AWS excluiu o tópico com êxito, use o comando [https://docs.aws.amazon.com/cli/latest/reference/sns/list-topics.html](https://docs.aws.amazon.com/cli/latest/reference/sns/list-topics.html) para confirmar que o tópico não aparece mais na lista.

```
$ aws sns list-topics
```