

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: Configurar una regla de CloudWatch eventos para recibir notificaciones por correo electrónico sobre los cambios de estado de la canalización
<a name="tutorials-cloudwatch-sns-notifications"></a>

Después de configurar una canalización AWS CodePipeline, puede configurar una regla de CloudWatch eventos para enviar notificaciones siempre que se produzcan cambios en el estado de ejecución de las canalizaciones o en las etapas o acciones de las canalizaciones. Para obtener más información sobre el uso de CloudWatch Events para configurar las notificaciones de los cambios de estado de las canalizaciones, consulta. [Monitorización de CodePipeline eventos](detect-state-changes-cloudwatch-events.md)

En este tutorial, va a configurar una notificación para enviar un correo electrónico cuando el estado de una canalización cambie a FAILED. En este tutorial, se utiliza un método de transformación de entrada al crear la regla de CloudWatch eventos. Transforma los detalles del esquema del mensaje para entregarlo en un formato legible.

**nota**  
Al crear los recursos para este tutorial, como la notificación de Amazon SNS y la regla de CloudWatch eventos, asegúrate de que los recursos se creen en la misma AWS región que tu canalización.

**Topics**
+ [Paso 1: Configurar una notificación de correo electrónico mediante Amazon SNS](#create-filter-for-target)
+ [Paso 2: Crear una regla y agregar el tema de SNS como destino](#create-notification-rule)
+ [Paso 3: Limpiar recursos](#notifications-clean-up-resources)

## Paso 1: Configurar una notificación de correo electrónico mediante Amazon SNS
<a name="create-filter-for-target"></a>

Amazon SNS coordina el uso de temas para entregar mensajes a clientes o puntos de conexión de suscripción. Utilice Amazon SNS para crear un tema de notificación y, a continuación, suscríbase al tema con su dirección de correo electrónico. El tema Amazon SNS se añadirá como objetivo a tu regla de CloudWatch eventos. Para obtener más información, consulte la [Guía para desarrolladores de Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/).

Cree o identifique un tema en Amazon SNS. CodePipeline utilizará CloudWatch Events para enviar notificaciones sobre este tema a través de Amazon SNS. Para crear un tema:

1. [Abra la consola de Amazon SNS en https://console.aws.amazon.com /sns.](https://console.aws.amazon.com/sns)

1. Seleccione **Crear tema**. 

1. En el cuadro de diálogo **Create new topic (Crear un nuevo tema)**, en **Topic name (Nombre del tema)**, escriba un nombre para el tema (por ejemplo, **PipelineNotificationTopic**).   
![\[Cree el tema de notificación mediante Amazon SNS;.\]](http://docs.aws.amazon.com/es_es/codepipeline/latest/userguide/images/tutorial-SNS-topic.png)

1. Seleccione **Crear tema**.

   Para obtener más información, consulte [Crear un tema](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) en la *Guía para desarrolladores de Amazon SNS*.

Suscriba a uno o varios destinatarios al tema para que reciban notificaciones por correo electrónico. Para suscribir a un destinatario a un tema:

1. En la consola de Amazon SNS, en la lista **Temas**, seleccione la casilla situada junto al tema nuevo. Elija **Acciones, Suscribirse a tema**.

1. En el cuadro de diálogo **Create subscription**, compruebe que aparece un ARN en **Topic ARN**.

1. En **Protocolo**, elige **Correo electrónico**.

1. En **Endpoint**, escriba la dirección de correo electrónico completa del destinatario.

1. Elija **Create Subscription**.

1. Amazon SNS envía un correo electrónico de confirmación de suscripción al destinatario. Para recibir notificaciones por correo electrónico, el destinatario debe utilizar el enlace **Confirm subscription** de este correo electrónico. Cuando el destinatario hace clic en el enlace, si se ha suscrito correctamente, Amazon SNS muestra un mensaje de confirmación en el navegador web.

   Para obtener más información, consulte [Suscribirse a un tema](https://docs.aws.amazon.com/sns/latest/dg/SubscribeTopic.html) en la *Guía del desarrollador de Amazon SNS*.

## Paso 2: Crear una regla y agregar el tema de SNS como destino
<a name="create-notification-rule"></a>

Cree una regla de notificación de CloudWatch eventos CodePipeline como fuente de eventos.

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Events (Eventos)**.

1. Seleccione **Creación de regla**. En **Event source (Origen de eventos)**, elija **AWS CodePipeline**. Como **Event Type**, elija **Pipeline Execution State Change**.

1. Seleccione **Specific state(s) (Estado[s] específico[s])** y, a continuación, elija **FAILED**.

1. Elija **Edit** para abrir el editor de JSON para el panel **Event Pattern Preview**. Añada el parámetro **pipeline** con el nombre de la canalización, tal y como se muestra en el siguiente ejemplo para una canalización denominada “myPipeline”.

   Puede copiar el patrón de eventos aquí y pegarlo en la consola:

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

1. En **Targets**, seleccione **Add target**. 

1. En la lista de destinos, elija **SNS topic**. En **Topic**, introduzca el tema que ha creado.

1. Expanda **Configure input**, a continuación, elija **Input Transformer**. 

1. En el cuadro **Input Path**, escriba los siguientes pares clave-valor.

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

   En el cuadro **Input Template**, escriba lo siguiente: 

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

1. Seleccione **Configurar los detalles**.

1. En la página **Configure rule details**, escriba un nombre y una descripción opcional. Para **State**, deje seleccionado el cuadro **Enabled**.

1. Seleccione **Creación de regla**. 

1. Confirme que ahora CodePipeline está enviando notificaciones de compilación. Por ejemplo, compruebe si hay correos electrónicos de notificación de compilación en su bandeja de entrada.

1. Para cambiar el comportamiento de una regla, en la CloudWatch consola, elija la regla y, a continuación, elija **Acciones** y **Editar**. Edite la regla, elija **Configurar detalles** y, a continuación, elija **Actualizar regla**.

   Para dejar de usar una regla para enviar notificaciones de compilación, en la CloudWatch consola, elige la regla y, a continuación, selecciona **Acciones**, **deshabilitar**.

   Para eliminar una regla, en la CloudWatch consola, selecciónela y, a continuación, elija **Acciones** y **Eliminar**.

## Paso 3: Limpiar recursos
<a name="notifications-clean-up-resources"></a>

Una vez completado este tutorial, debe eliminar la canalización y los recursos que utiliza para que no se le cobre por el uso continuado de esos recursos. 

Para obtener información sobre cómo limpiar la notificación de SNS y eliminar la regla de Amazon CloudWatch Events, consulte [Limpiar (cancelar la suscripción a un tema de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/CleanUp.html)) y consulte la referencia en la `DeleteRule` referencia de la API de [ CloudWatch Amazon Events](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/).