

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.

# Suscripción de AWS Event Fork Pipelines a un tema de Amazon SNS
<a name="sns-subscribe-event-fork-pipelines"></a>

Para acelerar el desarrollo de sus aplicaciones basadas en eventos, puede suscribir canales de gestión de eventos (impulsados por Event Fork AWS Pipelines) a los temas de Amazon SNS. AWS **Event Fork Pipelines es un conjunto de [aplicaciones anidadas de código abierto, basadas en el modelo de aplicaciones AWS](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) [sin servidor](https://aws.amazon.com/serverless/sam/) (AWS SAM), que puede implementar directamente desde el paquete [AWS Event Fork Pipelines (elija Mostrar aplicaciones que creen funciones de IAM personalizadas o políticas de recursos) en su cuenta](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines).** AWS Para obtener más información, consulte [Cómo funciona AWS Event Fork Pipelines](sns-fork-pipeline-as-subscriber.md#how-sns-fork-works).

En esta sección, se muestra cómo se puede utilizar Consola de administración de AWS para implementar una canalización y, a continuación, suscribir AWS Event Fork Pipelines a un tema de Amazon SNS. Antes de comenzar, [cree un tema de Amazon SNS](sns-create-topic.md).

Para eliminar los recursos que componen una canalización, busque la canalización en la página de **aplicaciones** de la AWS Lambda consola, expanda la **sección de plantillas de SAM**, elija **CloudFormationpila** y, a continuación, elija **Otras acciones**, **eliminar** pila.

# Implementación y suscripción de la canalización de almacenamiento y copia de seguridad de eventos en Amazon SNS
<a name="deploy-event-storage-backup-pipeline"></a>


|  | 
| --- |
| Para el archivado y el análisis de eventos, Amazon SNS recomienda ahora utilizar su integración nativa con Amazon Data Firehose. Puede suscribir las transmisiones de entrega de Firehose a temas de SNS, lo que le permite enviar notificaciones a puntos de enlace de archivado y análisis, como depósitos de Amazon Simple Storage Service (Amazon S3), tablas de Amazon Redshift, Amazon Service (Service) y más. OpenSearch OpenSearch El uso de Amazon SNS con las transmisiones de entrega de Firehose es una solución totalmente gestionada y sin código que no requiere el uso de funciones. AWS Lambda Para obtener más información, consulte [Distribución ramificada a los flujos de entrega de Firehose](sns-firehose-as-subscriber.md). | 

En este tutorial, se muestra cómo implementar la [canalización de almacenamiento y copia de seguridad de eventos](sns-fork-pipeline-as-subscriber.md#sns-fork-event-storage-and-backup-pipeline) y suscribirla a un tema de Amazon SNS. Este proceso convierte automáticamente la AWS SAM plantilla asociada a la canalización en una CloudFormation pila y, a continuación, implementa la pila en la suya. Cuenta de AWS Este proceso también crea y configura el conjunto de recursos que componen la canalización de almacenamiento y copia de seguridad de eventos, incluidos los siguientes:
+ Cola de Amazon SQS
+ Función de Lambda
+ Flujo de entrega de Firehose
+ Bucket de copia de seguridad de Amazon S3

Para obtener más información sobre la configuración de un flujo con un bucket de Amazon S3 como destino, consulte `[S3DestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_S3DestinationConfiguration.html)` en la *Referencia de la API de Amazon Data Firehose*.

Para obtener más información sobre la transformación de eventos y la configuración del almacenamiento en búfer de eventos, la compresión y el cifrado de eventos, consulte [Creación de un flujo de entrega](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) en la *Guía para desarrolladores de Amazon Data Firehose*.

Para obtener más información sobre el filtrado de eventos, consulte [Políticas de filtro de suscripciones de Amazon SNS](sns-subscription-filter-policies.md) en esta guía.

1. Inicie sesión en la [consola de AWS Lambda](https://console.aws.amazon.com/lambda/).

1. En el panel de navegación, elija **Functions (Funciones)** y, a continuación, **Create function (Crear función)**.

1. En la página **Create function (Crear función)**, proceda del modo siguiente:

   1. Elija **Examinar el repositorio de aplicaciones sin servidor**, **Aplicaciones públicas**, **Mostrar aplicaciones que crean roles de IAM personalizados o políticas de recursos**.

   1. Busque `fork-event-storage-backup-pipeline` y, a continuación, elija la aplicación.

1. En la página **fork-event-storage-backup-pipeline**, haz lo siguiente:

   1. En la sección **Application settings (Configuración de la aplicación)**, escriba el valor de **Application name (Nombre de aplicación)** (por ejemplo, `my-app-backup`).
**nota**  
Para cada implementación, el nombre de la aplicación debe ser único. Si reutilizas el nombre de una aplicación, la implementación solo actualizará la CloudFormation pila implementada anteriormente (en lugar de crear una nueva).

   1. (Opcional) Para **BucketArn**, introduzca el ARN del bucket de Amazon S3 en el que se cargan los eventos entrantes. Si no introduce ningún valor, se crea un nuevo bucket de Amazon S3 en su AWS cuenta.

   1. (Opcional) Para **DataTransformationFunctionArn**, introduzca el ARN de la función Lambda a través de la cual se transforman los eventos entrantes. Si no escribe un valor, se deshabilita la transformación de datos.

   1. (Opcional) Introduzca una de las siguientes **LogLevel**configuraciones para la ejecución de la función Lambda de la aplicación:
      + `DEBUG`
      + `ERROR`
      + `INFO` (predeterminado)
      + `WARNING`

   1. Para **TopicArn**, introduzca el ARN del tema de Amazon SNS al que se va a suscribir esta instancia de la canalización de bifurcación.

   1. (Opcional) Para **StreamBufferingIntervalInSeconds**e **StreamBufferingSizeInMBs**, introduzca los valores para configurar el almacenamiento en búfer de los eventos entrantes. Si no escribe ningún valor, se utilizan 300 segundos y 5 MB.

   1. (Opcional) Introduzca uno de los siguientes **StreamCompressionFormat**ajustes para comprimir los eventos entrantes:
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (predeterminado)
      + `ZIP`

   1. (Opcional) Para **StreamPrefix**, introduzca el prefijo de cadena para nombrar los archivos almacenados en el bucket de copias de seguridad de Amazon S3. Si no escribe un valor, no se usa ningún prefijo.

   1. (Opcional) Para **SubscriptionFilterPolicy**, introduzca la política de filtrado de suscripciones de Amazon SNS, en formato JSON, que se utilizará para filtrar los eventos entrantes. La política de filtrado decide qué eventos se indexan en el índice de OpenSearch servicios. Si no escribe ningún valor, no se utiliza el filtrado (se indexan todos los eventos).

   1. (Opcional) Para **SubscriptionFilterPolicyScope**, introduzca la cadena `MessageBody` o `MessageAttributes` para habilitar el filtrado de mensajes basado en la carga útil o en los atributos. 

   1. Elija **I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (Confirmo que esta aplicación crea políticas de recursos o roles de IAM personalizados e implementa aplicaciones anidadas)** y, a continuación, elija **Deploy (Implementar)**.

En la *my-app* página **Estado de despliegue** de, Lambda muestra el estado **Su aplicación se está desplegando**.

En la sección **Recursos**, CloudFormation comienza a crear la pila y muestra el **estado CREATE\$1IN\$1PROGRESS** de cada recurso. **Cuando se completa el proceso, muestra el estado CREATE\$1COMPLETE. CloudFormation **

Cuando se haya completado la implementación, Lambda muestra el estado **La aplicación se ha implementado**.

Los mensajes publicados en su tema de Amazon SNS se almacenan en el bucket de copia de seguridad de Amazon S3 aprovisionado de manera automática por la canalización de almacenamiento y copia de seguridad de eventos.

# Implementación y suscripción de la canalización de búsqueda y análisis de eventos en Amazon SNS
<a name="deploy-event-search-analytics-pipeline"></a>


|  | 
| --- |
| Para el archivado y el análisis de eventos, Amazon SNS recomienda ahora utilizar su integración nativa con Amazon Data Firehose. Puede suscribir las transmisiones de entrega de Firehose a temas de SNS, lo que le permite enviar notificaciones a puntos de enlace de archivado y análisis, como depósitos de Amazon Simple Storage Service (Amazon S3), tablas de Amazon Redshift, Amazon Service (Service) y más. OpenSearch OpenSearch El uso de Amazon SNS con las transmisiones de entrega de Firehose es una solución totalmente gestionada y sin código que no requiere el uso de funciones. AWS Lambda Para obtener más información, consulte [Distribución ramificada a los flujos de entrega de Firehose](sns-firehose-as-subscriber.md). | 

En este tutorial, se muestra cómo implementar la [canalización de búsqueda y análisis de eventos](sns-fork-pipeline-as-subscriber.md#sns-fork-event-search-and-analytics-pipeline) y suscribirla a un tema de Amazon SNS. Este proceso convierte automáticamente la AWS SAM plantilla asociada a la canalización en una CloudFormation pila y, a continuación, implementa la pila en la suya. Cuenta de AWS Este proceso también crea y configura el conjunto de recursos que componen la canalización de búsqueda y análisis de eventos, incluidos los siguientes:
+ Cola de Amazon SQS
+ Función de Lambda
+ Flujo de entrega de Firehose
+ Dominio OpenSearch de Amazon Service
+ Bucket de Amazon S3 de mensajes fallidos

Para obtener más información sobre la configuración de un flujo con un índice como destino, consulte `[ElasticsearchDestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ElasticsearchDestinationConfiguration.html)` en la *Referencia de la API de Amazon Data Firehose*.

Para obtener más información sobre la transformación de eventos y la configuración del almacenamiento en búfer de eventos, la compresión y el cifrado de eventos, consulte [Creación de un flujo de entrega](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) en la *Guía para desarrolladores de Amazon Data Firehose*.

Para obtener más información sobre el filtrado de eventos, consulte [Políticas de filtro de suscripciones de Amazon SNS](sns-subscription-filter-policies.md) en esta guía.

1. Inicie sesión en la [consola de AWS Lambda](https://console.aws.amazon.com/lambda/).

1. En el panel de navegación, elija **Functions (Funciones)** y, a continuación, **Create function (Crear función)**.

1. En la página **Create function (Crear función)**, proceda del modo siguiente:

   1. Elija **Examinar el repositorio de aplicaciones sin servidor**, **Aplicaciones públicas**, **Mostrar aplicaciones que crean roles de IAM personalizados o políticas de recursos**.

   1. Busque `fork-event-search-analytics-pipeline` y, a continuación, elija la aplicación.

1. En la página **fork-event-search-analytics-pipeline**, haga lo siguiente:

   1. En la sección **Application settings (Configuración de la aplicación)**, escriba el valor de **Application name (Nombre de aplicación)** (por ejemplo, `my-app-search`).
**nota**  
Para cada implementación, el nombre de la aplicación debe ser único. Si reutilizas el nombre de una aplicación, la implementación solo actualizará la CloudFormation pila implementada anteriormente (en lugar de crear una nueva).

   1. (Opcional) Para **DataTransformationFunctionArn**, introduzca el ARN de la función Lambda utilizada para transformar los eventos entrantes. Si no escribe un valor, se deshabilita la transformación de datos.

   1. (Opcional) Introduzca una de las siguientes **LogLevel**configuraciones para la ejecución de la función Lambda de la aplicación:
      + `DEBUG`
      + `ERROR`
      + `INFO` (predeterminado)
      + `WARNING`

   1. (Opcional) Para **SearchDomainArn**, introduzca el ARN del dominio del OpenSearch servicio, un clúster que configura la funcionalidad de procesamiento y almacenamiento necesaria. Si no escribe ningún valor, se creará un nuevo dominio con la configuración predeterminada.

   1. Para **TopicArn**, introduzca el ARN del tema de Amazon SNS al que se va a suscribir esta instancia de la canalización de bifurcación.

   1. Para **SearchIndexName**, introduzca el nombre del índice de OpenSearch servicios para la búsqueda y el análisis de eventos.
**nota**  
Las siguientes cuotas se aplican a los nombres de índice:  
No pueden incluir letras mayúsculas
No pueden incluir los siguientes caracteres: `\ / * ? " < > | ` , #`
No pueden comenzar por los siguientes caracteres: `- + _`
No pueden ser los siguientes: `. ..`
No pueden tener más de 80 caracteres
No pueden tener más de 255 bytes
No puede contener dos puntos (de OpenSearch Service 7.0)

   1. (Opcional) Introduzca una de las siguientes **SearchIndexRotationPeriod**configuraciones para el período de rotación del índice de OpenSearch servicios:
      + `NoRotation` (predeterminado)
      + `OneDay`
      + `OneHour`
      + `OneMonth`
      + `OneWeek`

      La rotación de índice agrega una marca temporal al nombre del índice, lo que facilita el vencimiento de los datos antiguos. 

   1. Para **SearchTypeName**, introduzca el nombre del tipo de OpenSearch servicio para organizar los eventos en un índice.
**nota**  
OpenSearch Los nombres de los tipos de servicio pueden contener cualquier carácter (excepto bytes nulos), pero no pueden empezar por él`_`.
En el OpenSearch caso de Service 6.x, solo puede haber un tipo por índice. Si especifica un tipo nuevo para un índice existente que ya tiene otro tipo, Firehose devuelve un error de tiempo de ejecución.

   1. (Opcional) Para **StreamBufferingIntervalInSeconds**y **StreamBufferingSizeInMBs**, introduzca los valores para configurar el almacenamiento en búfer de los eventos entrantes. Si no escribe ningún valor, se utilizan 300 segundos y 5 MB.

   1. (Opcional) Introduzca uno de los siguientes **StreamCompressionFormat**ajustes para comprimir los eventos entrantes:
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (predeterminado)
      + `ZIP`

   1. (Opcional) Para **StreamPrefix**, introduzca el prefijo de cadena para nombrar los archivos almacenados en el depósito de letras muertas de Amazon S3. Si no escribe un valor, no se usa ningún prefijo.

   1. (Opcional) Para **StreamRetryDurationInSecons**, introduzca la duración del reintento en los casos en que Firehose no pueda indexar los eventos en OpenSearch el índice de servicios. Si no escribe un valor, se usan 300 segundos.

   1. (Opcional) Para **SubscriptionFilterPolicy**, introduzca la política de filtrado de suscripciones de Amazon SNS, en formato JSON, que se utilizará para filtrar los eventos entrantes. La política de filtrado decide qué eventos se indexan en el índice de OpenSearch servicios. Si no escribe ningún valor, no se utiliza el filtrado (se indexan todos los eventos).

   1. Elija **I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (Confirmo que esta aplicación crea políticas de recursos o roles de IAM personalizados e implementa aplicaciones anidadas)** y, a continuación, elija **Deploy (Implementar)**.

En la *my-app-search* página **Estado de despliegue** de, Lambda muestra el estado **Su aplicación se está desplegando**.

En la sección **Recursos**, CloudFormation comienza a crear la pila y muestra el **estado CREATE\$1IN\$1PROGRESS** de cada recurso. **Cuando se completa el proceso, muestra el estado CREATE\$1COMPLETE. CloudFormation **

Cuando se haya completado la implementación, Lambda muestra el estado **La aplicación se ha implementado**.

Los mensajes publicados en tu tema de Amazon SNS se indexan automáticamente en el índice de OpenSearch servicios proporcionado por la canalización de búsqueda y análisis de eventos. Si la canalización no puede indexar un evento, lo almacena en un bucket de mensajes fallidos de Amazon S3.

# Implementación de la canalización de reproducción de eventos con la integración de Amazon SNS
<a name="deploy-event-replay-pipeline"></a>

En este tutorial, se muestra cómo implementar la [canalización de reproducción de eventos](sns-fork-pipeline-as-subscriber.md#sns-fork-event-replay-pipeline) y suscribirla a un tema de Amazon SNS. Este proceso convierte automáticamente la AWS SAM plantilla asociada a la canalización en una CloudFormation pila y, a continuación, despliega la pila en la suya Cuenta de AWS. Con este proceso, también se crea y configura el conjunto de recursos que componen la canalización de reproducción de eventos, incluida una cola de Amazon SQS y una función Lambda.

Para obtener más información sobre el filtrado de eventos, consulte [Políticas de filtro de suscripciones de Amazon SNS](sns-subscription-filter-policies.md) en esta guía.

1. Inicie sesión en la [consola de AWS Lambda](https://console.aws.amazon.com/lambda/).

1. En el panel de navegación, elija **Functions (Funciones)** y, a continuación, **Create function (Crear función)**.

1. En la página **Create function (Crear función)**, proceda del modo siguiente:

   1. Elija **Examinar el repositorio de aplicaciones sin servidor**, **Aplicaciones públicas**, **Mostrar aplicaciones que crean roles de IAM personalizados o políticas de recursos**.

   1. Busque `fork-event-replay-pipeline` y, a continuación, elija la aplicación.

1. En la página **fork-event-replay-pipeline**, haga lo siguiente:

   1. En la sección **Application settings (Configuración de la aplicación)**, escriba el valor de **Application name (Nombre de aplicación)** (por ejemplo, `my-app-replay`).
**nota**  
Para cada implementación, el nombre de la aplicación debe ser único. Si reutilizas el nombre de una aplicación, la implementación solo actualizará la CloudFormation pila implementada anteriormente (en lugar de crear una nueva).

   1. (Opcional) Introduzca una de las siguientes **LogLevel**configuraciones para la ejecución de la función Lambda de la aplicación:
      + `DEBUG`
      + `ERROR`
      + `INFO` (predeterminado)
      + `WARNING`

   1. (Opcional) Para **ReplayQueueRetentionPeriodInSeconds**, introduzca el tiempo, en segundos, durante el que la cola de reproducción de Amazon SQS guarda el mensaje. Si no escribe un valor, se usan 1 209 600 segundos (14 días).

   1. Para **TopicArn**, introduzca el ARN del tema de Amazon SNS al que se va a suscribir esta instancia de la canalización de bifurcación.

   1. Para **DestinationQueueName**, introduzca el nombre de la cola de Amazon SQS a la que la función de reproducción de Lambda reenvía los mensajes.

   1. (Opcional) Para **SubscriptionFilterPolicy**, introduzca la política de filtrado de suscripciones de Amazon SNS, en formato JSON, que se utilizará para filtrar los eventos entrantes. La política de filtro decide qué eventos se almacenan en búfer para la reproducción. Si no escribe ningún valor, no se utiliza el filtrado (todos los eventos se almacenan en búfer para la reproducción).

   1. Elija **I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (Confirmo que esta aplicación crea políticas de recursos o roles de IAM personalizados e implementa aplicaciones anidadas)** y, a continuación, elija **Deploy (Implementar)**.

En la *my-app-replay* página **Estado de despliegue** de, Lambda muestra el estado **Su aplicación se está desplegando**.

En la sección **Recursos**, CloudFormation comienza a crear la pila y muestra el **estado CREATE\$1IN\$1PROGRESS** de cada recurso. **Cuando se completa el proceso, muestra el estado CREATE\$1COMPLETE. CloudFormation **

Cuando se haya completado la implementación, Lambda muestra el estado **La aplicación se ha implementado**.

Los mensajes publicados en su tema de Amazon SNS se almacenan en búfer para reproducirlos en la cola de Amazon SQS aprovisionada de manera automática por la canalización de reproducción de eventos.

**nota**  
De forma predeterminada, la reproducción está deshabilitada. Para habilitar la reproducción, vaya a la página de la función en la consola de Lambda, expanda la sección **Diseñador**, seleccione el mosaico **SQS** y, a continuación, en la sección **SQS**, elija **Habilitado**.