

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tutorial: configurar uma regra de CloudWatch eventos para receber notificações por e-mail sobre mudanças no estado do pipeline
<a name="tutorials-cloudwatch-sns-notifications"></a>

Depois de configurar um pipeline AWS CodePipeline, você pode configurar uma regra de CloudWatch eventos para enviar notificações sempre que houver alterações no estado de execução de seus pipelines ou nos estágios ou ações em seus pipelines. Para obter mais informações sobre o uso de CloudWatch Eventos para configurar notificações para mudanças no estado do pipeline, consulte[Monitoramento de CodePipeline eventos](detect-state-changes-cloudwatch-events.md).

Neste tutorial, você configura uma notificação para enviar um e-mail quando o estado de um pipeline muda para FAILED. Este tutorial usa um método de transformador de entrada ao criar a regra de CloudWatch Eventos. Ele transforma os detalhes de esquema da mensagem para enviar a mensagem em texto legível por humanos.

**nota**  
Ao criar os recursos para este tutorial, como a notificação do Amazon SNS e a regra de CloudWatch eventos, certifique-se de que os recursos sejam criados na mesma AWS região do seu pipeline.

**Topics**
+ [Etapa 1: Configurar uma notificação por e-mail usando o Amazon SNS](#create-filter-for-target)
+ [Etapa 2: Criar uma regra e adicionar o tópico do SNS como destino](#create-notification-rule)
+ [Etapa 3: Limpar os recursos](#notifications-clean-up-resources)

## Etapa 1: Configurar uma notificação por e-mail usando o Amazon SNS
<a name="create-filter-for-target"></a>

O Amazon SNS coordena o uso de tópicos para enviar mensagens a endpoints ou clientes assinantes. Use o Amazon SNS para criar um tópico de notificação e assinar o tópico usando seu endereço de e-mail. O tópico do Amazon SNS será adicionado como destino à sua regra de CloudWatch Eventos. Para obter mais informações, consulte o [Manual do desenvolvedor do Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/).

Crie ou identifique um tópico no Amazon SNS. CodePipeline usará CloudWatch Eventos para enviar notificações sobre esse tópico por meio do Amazon SNS. Para criar um tópico:

1. [Abra o console do Amazon SNS em https://console.aws.amazon.com /sns.](https://console.aws.amazon.com/sns)

1. Escolha **Criar tópico**. 

1. Na caixa de diálogo **Create new topic (Criar novo tópico)**, em **Topic name (Nome do tópico)**, digite um nome para o tópico (por exemplo, **PipelineNotificationTopic**).   
![\[Crie o tópico de notificação usando o Amazon SNS.\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/tutorial-SNS-topic.png)

1. Escolha **Criar tópico**.

   Para obter mais informações, consulte [Criar um tópico](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) no *Guia do desenvolvedor do Amazon SNS*.

Faça a assinatura de um ou mais destinatários para o tópico para que recebam notificações por e-mail. Para fazer a assinatura de um destinatário para um tópico:

1. No console do Amazon SNS, na lista **Tópicos**, marque a caixa de seleção ao lado do novo tópico. Escolha **Actions, Subscribe to topic**.

1. Na caixa de diálogo **Create subscription**, verifique se é exibido um ARN em **Topic ARN**.

1. Em **Protocolo**, escolha **E-mail**.

1. Em **Endpoint**, digite o endereço de e-mail completo do destinatário.

1. Escolha **Criar inscrição**.

1. O Amazon SNS envia um e-mail de confirmação de assinatura ao destinatário. Para receber notificações de e-mail, o destinatário deve escolher o link **Confirm subscription** nesse e-mail. Assim que o destinatário clicar no link, se a assinatura tiver sido realizada com êxito, o Amazon SNS exibirá uma mensagem de confirmação no navegador web do destinatário.

   Para obter mais informações, consulte [Assinar um tópico](https://docs.aws.amazon.com/sns/latest/dg/SubscribeTopic.html) no *Guia do desenvolvedor do Amazon SNS*.

## Etapa 2: Criar uma regra e adicionar o tópico do SNS como destino
<a name="create-notification-rule"></a>

Crie uma regra de notificação de CloudWatch eventos com CodePipeline a fonte do evento.

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Eventos**.

1. Escolha **Criar regra**. Em **Event source (Origem do evento)**, escolha **AWS CodePipeline**. Em **Event Type**, escolha **Pipeline Execution State Change**.

1. Escolha **Specific state(s) (Estado[s] específico[s])** e **FAILED**.

1. Escolha **Edit** para abrir o editor de JSON no painel **Event Pattern Preview**. Adicione o parâmetro **pipeline** com o nome de seu pipeline, como mostrado no exemplo a seguir para um pipeline chamado "myPipeline".

   É possível copiar o padrão de evento aqui e colá-lo no console:

   ```
   {
     "source": [
       "aws.codepipeline"
     ],
     "detail-type": [
       "CodePipeline Pipeline Execution State Change"
     ],
     "detail": {
       "state": [
         "FAILED"
       ],
       "pipeline": [
         "myPipeline"
       ]
     }
   }
   ```

1. Em **Targets**, escolha **Add target**. 

1. Na lista de destinos, escolha **SNS topic**. Em **Topic**, insira o tópico que você criou.

1. Expanda **Configure input** e escolha **Input Transformer**. 

1. Na caixa **Input Path**, digite os pares de chave/valor a seguir.

   ```
   { "pipeline" : "$.detail.pipeline" }
   ```

   Na caixa **Input Template**, digite o seguinte: 

   ```
   "The Pipeline <pipeline> has failed."
   ```

1. Escolha **Configure details (Configurar detalhes)**.

1. Na página **Configure rule details**, digite um nome e, opcionalmente, uma descrição. Em **State**, deixe a caixa **Enabled** marcada.

1. Escolha **Criar regra**. 

1. Confirme que agora CodePipeline está enviando notificações de compilação. Por exemplo, verifique se agora os e-mails de notificação de compilação estão em sua caixa de entrada.

1. Para alterar o comportamento de uma regra, no CloudWatch console, escolha a regra e, em seguida, escolha **Ações**, **Editar**. Edite a regra e escolha **Configure details** e, em seguida, **Update rule**.

   Para parar de usar uma regra para enviar notificações de criação, no CloudWatch console, escolha a regra e, em seguida, escolha **Ações**, **Desativar**.

   Para excluir uma regra, no CloudWatch console, escolha a regra e, em seguida, escolha **Ações**, **Excluir**.

## Etapa 3: Limpar os recursos
<a name="notifications-clean-up-resources"></a>

Após concluir este tutorial, você deverá excluir o pipeline e os recursos usados para não ser cobrado pelo uso contínuo desses recursos. 

Para obter informações sobre como limpar a notificação do SNS e excluir a regra do Amazon CloudWatch Events, consulte [Limpar (cancelar a assinatura de um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/CleanUp.html)) e consulte a Referência da `DeleteRule` API [ CloudWatch Amazon](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/) Events.