

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Abonnement d' AWS Event Fork Pipelines à une rubrique Amazon SNS
<a name="sns-subscribe-event-fork-pipelines"></a>

Pour accélérer le développement de vos applications basées sur les événements, vous pouvez abonner des pipelines de gestion d'événements, alimentés par Event Fork AWS Pipelines, à des rubriques Amazon SNS. AWS Event Fork Pipelines est une suite d'[applications imbriquées](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) open source, basée sur le [modèle d'application AWS sans serveur](https://aws.amazon.com/serverless/sam/) (AWS SAM), que vous pouvez déployer directement depuis la [suite AWS Event Fork Pipelines](https://serverlessrepo.aws.amazon.com/applications?query=aws-event-fork-pipelines) (choisissez **Afficher les applications qui créent des rôles IAM ou des politiques de ressources personnalisés**) sur votre compte. AWS Pour de plus amples informations, veuillez consulter [Comment fonctionne AWS Event Fork Pipelines](sns-fork-pipeline-as-subscriber.md#how-sns-fork-works).

Cette section explique comment vous pouvez utiliser le AWS Management Console pour déployer un pipeline, puis abonner AWS Event Fork Pipelines à une rubrique Amazon SNS. Avant de commencer, [créez une rubrique Amazon SNS](sns-create-topic.md).

Pour supprimer les ressources qui constituent un pipeline, recherchez le pipeline sur la page **Applications** de la AWS Lambda console, développez la **section du modèle SAM**, choisissez **CloudFormationStack**, puis choisissez **Other Actions**, **Delete Stack**.

# Déploiement et abonnement du pipeline de stockage et de sauvegarde des événements sur Amazon SNS
<a name="deploy-event-storage-backup-pipeline"></a>


|  | 
| --- |
| Pour l'archivage et l'analyse des événements, Amazon SNS recommande désormais d'utiliser son intégration native avec Amazon Data Firehose. Vous pouvez abonner les flux de diffusion Firehose aux rubriques SNS, ce qui vous permet d'envoyer des notifications aux points de terminaison d'archivage et d'analyse tels que les buckets Amazon Simple Storage Service (Amazon S3), les tables Amazon Redshift, Amazon Service (Service), etc. OpenSearch OpenSearch L'utilisation d'Amazon SNS avec les flux de diffusion Firehose est une solution entièrement gérée et sans code qui ne nécessite pas l'utilisation de fonctions. AWS Lambda Pour de plus amples informations, veuillez consulter [Streams de diffusion de Fanout to Firehose](sns-firehose-as-subscriber.md). | 

Ce didacticiel montre comment déployer le [Pipeline de stockage et de sauvegarde d'événements](sns-fork-pipeline-as-subscriber.md#sns-fork-event-storage-and-backup-pipeline) et l'abonner à une rubrique Amazon SNS. Ce processus transforme automatiquement le AWS SAM modèle associé au pipeline en une CloudFormation pile, puis déploie la pile dans votre Compte AWS. De plus, ce processus crée et configure l'ensemble de ressources qui comprennent le pipeline de stockage et de sauvegarde des événements, y compris ce qui suit :
+ File d’attente Amazon SQS
+ Fonction Lambda
+ Flux de diffusion Firehose
+ Compartiment de sauvegarde Amazon S3

Pour plus d'informations sur la configuration d'un flux avec un compartiment Amazon S3 comme destination, consultez le `[S3DestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_S3DestinationConfiguration.html)` manuel *Amazon Data Firehose API* Reference.

Pour plus d'informations sur la transformation des événements et sur la configuration de la mise en mémoire tampon des événements, de la compression des événements et du chiffrement des événements, consultez la section [Création d'un flux de diffusion](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dans le manuel *Amazon Data Firehose Developer* Guide.

Pour plus d'informations sur le filtrage des événements, consultez la section [Stratégies de filtre d'abonnement Amazon SNS](sns-subscription-filter-policies.md) dans le présent guide.

1. Connectez-vous à la [AWS Lambda console](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation, choisissez **Fonctions**, puis **Créer une fonction**.

1. Sur la page **Créer une fonction**, procédez de la façon suivante :

   1. Choisissez **Parcourir le référentiel d'applications sans serveur**, **Applications publiques**, **Afficher les applications qui créent des politiques de rôles ou de ressources IAM personnalisées**.

   1. Recherchez `fork-event-storage-backup-pipeline` et choisissez l'application.

1. Sur la page **fork-event-storage-backup-pipeline**, procédez comme suit :

   1. Dans la section **Paramètres de l'application**, entrez un **Nom d'application** (par exemple, `my-app-backup`).
**Note**  
Pour chaque déploiement, le nom de l'application doit être unique. Si vous réutilisez le nom d'une application, le déploiement mettra à jour uniquement la CloudFormation pile précédemment déployée (plutôt que d'en créer une nouvelle).

   1. (Facultatif) Pour **BucketArn**, entrez l'ARN du compartiment Amazon S3 dans lequel les événements entrants sont chargés. Si vous ne saisissez aucune valeur, un nouveau compartiment Amazon S3 est créé dans votre AWS compte.

   1. (Facultatif) Pour **DataTransformationFunctionArn**, entrez l'ARN de la fonction Lambda par laquelle les événements entrants sont transformés. Si vous ne spécifiez pas de valeur, la transformation des données est désactivée.

   1. (Facultatif) Entrez l'un des **LogLevel**paramètres suivants pour l'exécution de la fonction Lambda de votre application :
      + `DEBUG`
      + `ERROR`
      + `INFO` (par défaut)
      + `WARNING`

   1. Pour **TopicArn**, entrez l'ARN de la rubrique Amazon SNS à laquelle cette instance du pipeline de fork doit être abonnée.

   1. (Facultatif) Pour **StreamBufferingIntervalInSeconds**et **StreamBufferingSizeInMBs**, entrez les valeurs pour configurer la mise en mémoire tampon des événements entrants. Si vous n'entrez aucune valeur, 300 secondes et 5 Mo sont utilisés.

   1. (Facultatif) Entrez l'un des **StreamCompressionFormat**paramètres suivants pour compresser les événements entrants :
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (par défaut)
      + `ZIP`

   1. (Facultatif) Pour **StreamPrefix**, entrez le préfixe de chaîne pour nommer les fichiers stockés dans le compartiment de sauvegarde Amazon S3. Si vous ne spécifiez pas de valeur, aucun préfixe n'est utilisé.

   1. (Facultatif) Pour **SubscriptionFilterPolicy**, entrez la politique de filtrage des abonnements Amazon SNS, au format JSON, à utiliser pour filtrer les événements entrants. La politique de filtrage détermine quels événements sont indexés dans l'index des OpenSearch services. Si vous ne spécifiez pas de valeur, aucun filtrage n'est utilisé (tous les événements sont indexés).

   1. (Facultatif) Pour **SubscriptionFilterPolicyScope**, entrez la chaîne `MessageBody` ou `MessageAttributes` pour activer le filtrage des messages basé sur la charge utile ou basé sur les attributs. 

   1. Choisissez **Je comprends que cette application crée des rôles IAM et des politiques de ressources personnalisés, et déploie des applications imbriquées.**, puis choisissez **Déployer**.

Sur la *my-app* page **État du déploiement pour**, Lambda affiche l'état **Votre application est en cours de déploiement**.

Dans la section **Ressources**, CloudFormation commence à créer la pile et affiche le statut **CREATE\$1IN\$1PROGRESS** pour chaque ressource. Lorsque le processus est terminé, CloudFormation affiche le statut **CREATE\$1COMPLETE**.

Une fois le déploiement terminé, Lambda affiche l'état **Votre application a été déployée**.

Les messages publiés sur votre rubrique Amazon SNS sont stockés dans le compartiment de sauvegarde Amazon S3 approvisionné automatiquement par le pipeline Event Storage and Backup.

# Déploiement et abonnement du pipeline d'analyse et de recherche d'événements sur Amazon SNS
<a name="deploy-event-search-analytics-pipeline"></a>


|  | 
| --- |
| Pour l'archivage et l'analyse des événements, Amazon SNS recommande désormais d'utiliser son intégration native avec Amazon Data Firehose. Vous pouvez abonner les flux de diffusion Firehose aux rubriques SNS, ce qui vous permet d'envoyer des notifications aux points de terminaison d'archivage et d'analyse tels que les buckets Amazon Simple Storage Service (Amazon S3), les tables Amazon Redshift, Amazon Service (Service), etc. OpenSearch OpenSearch L'utilisation d'Amazon SNS avec les flux de diffusion Firehose est une solution entièrement gérée et sans code qui ne nécessite pas l'utilisation de fonctions. AWS Lambda Pour de plus amples informations, veuillez consulter [Streams de diffusion de Fanout to Firehose](sns-firehose-as-subscriber.md). | 

Cette page montre comment déployer le [Pipeline de recherche et d'analyse des événements](sns-fork-pipeline-as-subscriber.md#sns-fork-event-search-and-analytics-pipeline) et vous abonner à une rubrique Amazon SNS. Ce processus transforme automatiquement le AWS SAM modèle associé au pipeline en une CloudFormation pile, puis déploie la pile dans votre Compte AWS. De plus, ce processus crée et configure l'ensemble de ressources qui comprennent le pipeline de recherche et d'analyse des événements, y compris ce qui suit :
+ File d’attente Amazon SQS
+ Fonction Lambda
+ Flux de diffusion Firehose
+ Domaine Amazon OpenSearch Service
+ Compartiment de lettres mortes Amazon S3

Pour plus d'informations sur la configuration d'un flux avec un index comme destination, consultez le `[ElasticsearchDestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ElasticsearchDestinationConfiguration.html)` manuel *Amazon Data Firehose API* Reference.

Pour plus d'informations sur la transformation des événements et sur la configuration de la mise en mémoire tampon des événements, de la compression des événements et du chiffrement des événements, consultez la section [Création d'un flux de diffusion](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dans le manuel *Amazon Data Firehose Developer* Guide.

Pour plus d'informations sur le filtrage des événements, consultez la section [Stratégies de filtre d'abonnement Amazon SNS](sns-subscription-filter-policies.md) dans le présent guide.

1. Connectez-vous à la [AWS Lambda console](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation, choisissez **Fonctions**, puis **Créer une fonction**.

1. Sur la page **Créer une fonction**, procédez de la façon suivante :

   1. Choisissez **Parcourir le référentiel d'applications sans serveur**, **Applications publiques**, **Afficher les applications qui créent des politiques de rôles ou de ressources IAM personnalisées**.

   1. Recherchez `fork-event-search-analytics-pipeline` et choisissez l'application.

1. Sur la page **fork-event-search-analytics-pipeline**, procédez comme suit :

   1. Dans la section **Paramètres de l'application**, entrez un **Nom d'application** (par exemple, `my-app-search`).
**Note**  
Pour chaque déploiement, le nom de l'application doit être unique. Si vous réutilisez le nom d'une application, le déploiement mettra à jour uniquement la CloudFormation pile précédemment déployée (plutôt que d'en créer une nouvelle).

   1. (Facultatif) Pour **DataTransformationFunctionArn**, entrez l'ARN de la fonction Lambda utilisée pour transformer les événements entrants. Si vous ne spécifiez pas de valeur, la transformation des données est désactivée.

   1. (Facultatif) Entrez l'un des **LogLevel**paramètres suivants pour l'exécution de la fonction Lambda de votre application :
      + `DEBUG`
      + `ERROR`
      + `INFO` (par défaut)
      + `WARNING`

   1. (Facultatif) Pour **SearchDomainArn**, entrez l'ARN du domaine de OpenSearch service, un cluster qui configure les fonctionnalités de calcul et de stockage nécessaires. Si vous ne spécifiez pas de valeur, un nouveau domaine est créé avec la configuration par défaut.

   1. Pour **TopicArn**, entrez l'ARN de la rubrique Amazon SNS à laquelle cette instance du pipeline de fork doit être abonnée.

   1. Pour **SearchIndexName**, entrez le nom de l'index des OpenSearch services pour la recherche et l'analyse des événements.
**Note**  
Les quotas suivants s'appliquent aux noms d'index :  
Vous ne pouvez pas inclure de majuscules
Vous ne pouvez pas inclure les caractères suivants : `\ / * ? " < > | ` , #`
Vous ne pouvez pas commencer par les caractères suivants : `- + _`
Vous ne pouvez pas utiliser : `. ..`
Vous ne pouvez pas utiliser plus de 80 caractères
Vous ne pouvez pas utiliser plus de 255 octets
Ne peut pas contenir de deux-points (depuis OpenSearch Service 7.0)

   1. (Facultatif) Entrez l'un des **SearchIndexRotationPeriod**paramètres suivants pour la période de rotation de l'indice de OpenSearch service :
      + `NoRotation` (par défaut)
      + `OneDay`
      + `OneHour`
      + `OneMonth`
      + `OneWeek`

      La rotation d'index ajoute un horodatage au nom de l'index, ce qui facilite l'expiration des anciennes données. 

   1. Pour **SearchTypeName**, entrez le nom du type de OpenSearch service pour organiser les événements dans un index.
**Note**  
OpenSearch Les noms des types de service peuvent contenir n'importe quel caractère (sauf les octets nuls), mais ils ne peuvent pas commencer par`_`.
Pour le OpenSearch Service 6.x, il ne peut y avoir qu'un seul type par index. Si vous spécifiez un nouveau type pour un index existant qui possède déjà un autre type, Firehose renvoie une erreur d'exécution.

   1. (Facultatif) Pour **StreamBufferingIntervalInSeconds**et **StreamBufferingSizeInMBs**, entrez les valeurs pour configurer la mise en mémoire tampon des événements entrants. Si vous n'entrez aucune valeur, 300 secondes et 5 Mo sont utilisés.

   1. (Facultatif) Entrez l'un des **StreamCompressionFormat**paramètres suivants pour compresser les événements entrants :
      + `GZIP`
      + `SNAPPY`
      + `UNCOMPRESSED` (par défaut)
      + `ZIP`

   1. (Facultatif) Pour **StreamPrefix**, entrez le préfixe de chaîne pour nommer les fichiers stockés dans le compartiment de lettres mortes Amazon S3. Si vous ne spécifiez pas de valeur, aucun préfixe n'est utilisé.

   1. (Facultatif) Pour **StreamRetryDurationInSecons**, entrez la durée des nouvelles tentatives dans les cas où Firehose ne parvient pas à indexer les événements dans OpenSearch l'index des services. Si vous ne spécifiez pas de valeur, 300 secondes seront utilisées.

   1. (Facultatif) Pour **SubscriptionFilterPolicy**, entrez la politique de filtrage des abonnements Amazon SNS, au format JSON, à utiliser pour filtrer les événements entrants. La politique de filtrage détermine quels événements sont indexés dans l'index des OpenSearch services. Si vous ne spécifiez pas de valeur, aucun filtrage n'est utilisé (tous les événements sont indexés).

   1. Choisissez **Je comprends que cette application crée des rôles IAM et des politiques de ressources personnalisés, et déploie des applications imbriquées.**, puis choisissez **Déployer**.

Sur la *my-app-search* page **État du déploiement pour**, Lambda affiche l'état **Votre application est en cours de déploiement**.

Dans la section **Ressources**, CloudFormation commence à créer la pile et affiche le statut **CREATE\$1IN\$1PROGRESS** pour chaque ressource. Lorsque le processus est terminé, CloudFormation affiche le statut **CREATE\$1COMPLETE**.

Une fois le déploiement terminé, Lambda affiche l'état **Votre application a été déployée**.

Les messages publiés sur votre rubrique Amazon SNS sont indexés automatiquement dans l'index des OpenSearch services fourni par le pipeline Event Search and Analytics. Si le pipeline ne parvient pas à indexer un événement, il le stocke dans un compartiment contenant des lettres mortes Amazon S3.

# Déploiement du pipeline de rediffusion d'événements avec l'intégration d'Amazon SNS
<a name="deploy-event-replay-pipeline"></a>

Cette page montre comment déployer le [Pipeline de relecture des événements](sns-fork-pipeline-as-subscriber.md#sns-fork-event-replay-pipeline) et vous abonner à une rubrique Amazon SNS. Ce processus transforme automatiquement le AWS SAM modèle associé au pipeline en une CloudFormation pile, puis déploie la pile dans votre Compte AWS. De plus, ce processus crée et configure l'ensemble de ressources qui comprennent le pipeline de relecture d'événements, y compris une file d'attente Amazon SQS et une fonction Lambda.

Pour plus d'informations sur le filtrage des événements, consultez la section [Stratégies de filtre d'abonnement Amazon SNS](sns-subscription-filter-policies.md) dans le présent guide.

1. Connectez-vous à la [AWS Lambda console](https://console.aws.amazon.com/lambda/).

1. Dans le panneau de navigation, choisissez **Fonctions**, puis **Créer une fonction**.

1. Sur la page **Créer une fonction**, procédez de la façon suivante :

   1. Choisissez **Parcourir le référentiel d'applications sans serveur**, **Applications publiques**, **Afficher les applications qui créent des politiques de rôles ou de ressources IAM personnalisées**.

   1. Recherchez `fork-event-replay-pipeline` et choisissez l'application.

1. Sur la page **fork-event-replay-pipeline**, procédez de la façon suivante :

   1. Dans la section **Paramètres de l'application**, entrez un **Nom d'application** (par exemple, `my-app-replay`).
**Note**  
Pour chaque déploiement, le nom de l'application doit être unique. Si vous réutilisez le nom d'une application, le déploiement mettra à jour uniquement la CloudFormation pile précédemment déployée (plutôt que d'en créer une nouvelle).

   1. (Facultatif) Entrez l'un des **LogLevel**paramètres suivants pour l'exécution de la fonction Lambda de votre application :
      + `DEBUG`
      + `ERROR`
      + `INFO` (par défaut)
      + `WARNING`

   1. (Facultatif **ReplayQueueRetentionPeriodInSeconds**) Entrez la durée, en secondes, pendant laquelle la file de rediffusion Amazon SQS conserve le message. Si vous ne spécifiez pas de valeur, 1 209 600 secondes (14 jours) est utilisé.

   1. Pour **TopicArn**, entrez l'ARN de la rubrique Amazon SNS à laquelle cette instance du pipeline de fork doit être abonnée.

   1. Pour **DestinationQueueName**, entrez le nom de la file d'attente Amazon SQS à laquelle la fonction Lambda replay transmet les messages.

   1. (Facultatif) Pour **SubscriptionFilterPolicy**, entrez la politique de filtrage des abonnements Amazon SNS, au format JSON, à utiliser pour filtrer les événements entrants. La politique de filtre décide quels événements sont mis en mémoire tampon pour la relecture. Si vous ne spécifiez pas de valeur, aucun filtrage n'est utilisé (tous les événements sont mis en mémoire tampon pour la relecture).

   1. Choisissez **Je comprends que cette application crée des rôles IAM et des politiques de ressources personnalisés, et déploie des applications imbriquées.**, puis choisissez **Déployer**.

Sur la *my-app-replay* page **État du déploiement pour**, Lambda affiche l'état **Votre application est en cours de déploiement**.

Dans la section **Ressources**, CloudFormation commence à créer la pile et affiche le statut **CREATE\$1IN\$1PROGRESS** pour chaque ressource. Lorsque le processus est terminé, CloudFormation affiche le statut **CREATE\$1COMPLETE**.

Une fois le déploiement terminé, Lambda affiche l'état **Votre application a été déployée**.

Les messages publiés dans votre rubrique Amazon SNS sont mis en mémoire tampon dans la file d'attente Amazon SQS mise en service automatiquement par le pipeline de relecture d'événements.

**Note**  
Par défaut, la relecture est désactivée. Pour activer la relecture, accédez à la page de la fonction sur la console Lambda, développez la section **Concepteur**, choisissez la vignette **SQS** puis, dans la section **SQS**, choisissez **Activé**.