Types de notification d’événements et destinations associées - Amazon Simple Storage Service

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.

Types de notification d’événements et destinations associées

Amazon S3 prend en charge plusieurs types et destinations de notifications d’événements. Vous pouvez spécifier le type d’événement et la destination lors de la configuration de vos notifications. Une seule destination peut être spécifiée pour chaque notification d’événement. Les notifications d’événements Amazon S3 envoient une entrée d’événement pour chaque message de notification.

Destinations d’événements prises en charge

Amazon S3 peut envoyer des messages de notification d'événement vers les types de destination suivants :

  • Rubriques Amazon Simple Notification Service (Amazon SNS)

  • Files d’attente Amazon Simple Queue Service (Amazon SQS)

  • AWS Lambda

  • Amazon EventBridge

Cependant, un seul type de destination peut être spécifié pour chaque notification d’événement.

Note

Vous devez autoriser Amazon S3 à publier des messages dans une rubrique Amazon SNS ou une file d’attente Amazon SQS. Vous devez également autoriser Amazon S3 à appeler une AWS Lambda fonction en votre nom. Pour obtenir des instructions sur la façon d’accorder ces autorisations, consultez Octroi d’autorisations pour la publication de messages de notification d’événement vers une destination.

Rubrique Amazon SNS

Amazon SNS est un service de messagerie de type Push flexible et totalement géré. Vous pouvez utiliser ce service pour envoyer des messages en mode Push vers des appareils mobiles ou des services distribués. Grâce à SNS, vous pouvez publier un message, puis le diffuser à une ou plusieurs reprises. Actuellement, SNS standard n’est autorisé qu’en tant que destination de notification d’événement S3, tandis que les rubriques FIFO SNS ne sont pas autorisées.

Amazon SNS coordonne et gère l’envoi et la diffusion de messages aux points de terminaison ou aux clients abonnés. Vous pouvez utiliser la console Amazon SNS pour créer la rubrique Amazon SNS qui recevra vos notifications.

Le sujet doit se trouver dans le même Région AWS que celui de votre compartiment Amazon S3. Pour obtenir des instructions sur comment créer une rubrique Amazon SNS, consultez Démarrer avec Amazon SNS dans le Manuel du développeur Amazon Simple Notification Service, ainsi que les Questions fréquentes (FAQ) sur Amazon SNS.

Pour pouvoir utiliser la rubrique Amazon SNS que vous avez créé en tant que destination d’une notification d’événements, vous devez disposer des éléments suivants :

  • Amazon Resource Name (ARN) de la rubrique Amazon SNS

  • Un abonnement à la rubrique Amazon SNS valide. Grâce à cela, les abonnés à la rubrique reçoivent une notification lorsqu’un message est publié sur votre rubrique Amazon SNS.

File d’attente Amazon SQS

Amazon SQS offre des files d’attente hébergées, évolutives et fiables dédiées au stockage des messages pendant leur circulation entre les ordinateurs. Amazon SQS vous permet de transmettre n’importe quel volume de données, sans nécessiter que d’autres services soient toujours disponibles. Vous pouvez utiliser la console Amazon SQS pour créer une file d’attente Amazon SQS qui recevra vos notifications.

La file d'attente Amazon SQS doit être Région AWS identique à celle de votre compartiment Amazon S3. Pour obtenir des instructions sur comment créer une file d’attente Amazon SQS, consultez les sections Qu’est-ce qu’Amazon Simple Queue Service et Mise en route avec Amazon SQS du Manuel du développeur Amazon Simple Queue Service.

Pour pouvoir utiliser la file d’attente Amazon SQS en tant que destination d’une notification d’événements, vous devez disposer des éléments suivants :

  • Amazon Resource Name (ARN) de la file d’attente Amazon SQS

Note

Les files d’attente Amazon Simple Queue Service FIFO (premier entré, premier sorti) ne sont pas prises en charge en tant que destination des notifications d’événements Amazon S3. Pour envoyer une notification concernant un événement Amazon S3 à une file d'attente FIFO Amazon SQS, vous pouvez utiliser Amazon. EventBridge Pour de plus amples informations, veuillez consulter Activation d'Amazon EventBridge.

Fonction Lambda

Vous pouvez l'utiliser AWS Lambda pour étendre d'autres AWS services avec une logique personnalisée ou créer votre propre backend qui fonctionne en termes d' AWS échelle, de performances et de sécurité. Lambda vous permet de créer des applications discrètes et axées sur les événements qui ne s’exécutent que lorsque vous en avez besoin. Vous pouvez également l’utiliser pour faire évoluer ces applications automatiquement de quelques requêtes par jour à des milliers de secondes.

Lambda peut exécuter du code personnalisé en réponse aux événements de compartiment Amazon S3 : vous chargez votre code personnalisé dans Lambda et créez ce qu’on appelle une fonction Lambda. Lorsqu'Amazon S3 détecte un événement d'un type spécifique, il peut le publier AWS Lambda et appeler votre fonction dans Lambda. En réponse, Lambda exécute votre fonction. Un type d’événement qu’il peut détecter, par exemple, est un événement créé par un objet.

Vous pouvez utiliser la AWS Lambda console pour créer une fonction Lambda qui utilise l' AWS infrastructure pour exécuter le code en votre nom. La fonction Lambda doit être située dans la même Région que votre compartiment S3. Vous devez également connaître le nom ou l’ARN d’une fonction Lambda pour la configurer en tant que destination de notification d’événements.

Avertissement

Lorsque votre notification écrit dans le compartiment qui déclenche la notification, cela peut provoquer une boucle d'exécution. Par exemple, si le compartiment déclenche une fonction Lambda chaque fois qu’un objet est chargé et que la fonction charge un objet dans le compartiment, elle se déclenche elle-même indirectement. Afin d’éviter cela, utilisez deux compartiments ou configurez le déclencheur pour qu’il s’applique uniquement à un préfixe utilisé pour les objets entrants.

Pour plus d'informations et un exemple d'utilisation des notifications Amazon S3 avec AWS Lambda, consultez la section Utilisation AWS Lambda avec Amazon S3 dans le guide du AWS Lambda développeur.

Amazon EventBridge

Amazon EventBridge est un bus d'événements sans serveur qui reçoit les événements des AWS services. Vous pouvez définir des règles pour faire correspondre les événements et les transmettre à des cibles, par exemple un service AWS ou un point de terminaison HTTP. Pour plus d'informations, consultez le contenu EventBridge du guide de EventBridge l'utilisateur Amazon.

Contrairement aux autres destinations, vous pouvez activer ou désactiver les événements à diffuser EventBridge pour un bucket. Si vous activez la livraison, tous les événements sont envoyés à EventBridge. En outre, vous pouvez utiliser des EventBridge règles pour acheminer les événements vers des cibles supplémentaires.

Types d’événements pris en charge pour SQS, SNS et Lambda

Amazon S3 peut publier les types d’événements ci-après. Vous devez spécifier ces types d’événements dans la configuration des notifications.

Types d’événements Description

s3:TestEvent

Lorsqu’une notification est activée, Amazon S3 publie une notification de test. Cela permet de vérifier que la rubrique existe et que le propriétaire du compartiment est autorisé à publier la rubrique spécifiée.

Si l’activation de la notification échoue, vous ne recevez pas de notification de test.

s3:ObjectCreated:*

s3:ObjectCreated:Put

s3:ObjectCreated:Post

s3:ObjectCreated:Copy

s3:ObjectCreated:CompleteMultipartUpload

Les opérations d’API Amazon S3 telles que PUT, POST et COPY permettent de créer des objets. Avec ces types d’événements, vous pouvez activer les notifications lorsqu’un objet est créé à l’aide d’une opération API spécifique. Vous pouvez également utiliser le type d’événement s3:ObjectCreated:* pour demander une notification quelle que soit l’API utilisée pour créer un objet.

s3:ObjectCreated:CompleteMultipartUploadinclut des objets créés à l'aide de UploadPartCopypour les opérations de copie.

s3:ObjectRemoved:*

s3:ObjectRemoved:Delete

s3:ObjectRemoved:DeleteMarkerCreated

L’utilisation des types d’événements ObjectRemoved vous permet d’activer l’envoi de notifications lorsqu’un objet ou un lot d’objets est supprimé d’un compartiment.

Vous pouvez utiliser le type d’événement s3:ObjectRemoved:Delete pour demander l’envoi de notifications lorsqu’un objet est supprimé ou lorsqu’un objet avec version est supprimé de manière définitive. Vous pouvez également utiliser s3:ObjectRemoved:DeleteMarkerCreated, afin de demander l’envoi d’une notification lorsqu’un marqueur de suppression est créé pour un objet avec version. Pour savoir comment supprimer des objets versionnés, consultez Suppression des versions d’objet d’un compartiment activé pour la gestion des versions. Vous pouvez aussi utiliser un caractère générique s3:ObjectRemoved:*, afin de demander l’envoi d’une notification chaque fois qu’un objet est supprimé.

Ces notifications d’événements ne vous alertent pas lors de suppressions automatiques dans le cadre de configurations de cycle de vie ou lorsque des opérations échouent.

s3:ObjectRestore:*

s3:ObjectRestore:Post

s3:ObjectRestore:Completed

s3:ObjectRestore:Delete

L’utilisation des types d’événements ObjectRestore vous permet de recevoir des notifications de début et de fin d’événement lors de la restauration des objets depuis les classes de stockage S3 Glacier Flexible Retrieval et S3 Glacier Deep Archive, ou les niveaux d’accès S3 Intelligent-Tiering Archive et S3 Intelligent-Tiering Deep Archive. Vous pouvez également recevoir des notifications lorsque la copie restaurée d’un objet expire.

Le type d’événement s3:ObjectRestore:Post vous avertit du début d’une restauration d’objet. Le type d’événement s3:ObjectRestore:Completed vous avertit de la fin de la restauration. Le type d’événement s3:ObjectRestore:Delete vous avertit lorsque la copie temporaire d’un objet restauré expire.

s3:ReducedRedundancyLostObject Vous recevez cette notification lorsqu’Amazon S3 détecte qu’un objet de la classe de stockage RRS a été perdu.

s3:Replication:*

s3:Replication:OperationFailedReplication

s3:Replication:OperationMissedThreshold

s3:Replication:OperationReplicatedAfterThreshold

s3:Replication:OperationNotTracked

L’utilisation des types d’événements Replication vous permet de recevoir des notifications pour les configurations de réplication sur lesquelles des métriques de réplication S3 ou Contrôle du temps de réplication S3 (S3 RTC) sont activées. Vous pouvez surveiller la minute-by-minute progression des événements de réplication en suivant les octets en attente, les opérations en attente et la latence de réplication. Pour plus d’informations sur les métriques de réplication, consultez Surveillance de la réplication avec des métriques, des notifications d’événements et des statuts.

  • Le type d’événement s3:Replication:OperationFailedReplication vous avertit lorsqu’un objet éligible à la réplication n’a pas pu être répliqué.

  • Le type d’événement s3:Replication:OperationMissedThreshold vous avertit lorsqu’un objet éligible à la réplication et qui utilise S3 RTC dépasse le délai maximal de 15 minutes pour la réplication.

  • Le type d’événement s3:Replication:OperationReplicatedAfterThreshold vous avertit lorsqu’un objet éligible à la réplication et qui utilise S3 RTC est répliqué après le délai maximal de 15 minutes.

  • Le type d’événement s3:Replication:OperationNotTracked vous avertit lorsqu’un objet éligible à la réplication en direct (réplication sur une même région [SRR] ou réplication interrégionale [CRR]) n’est plus suivi par les métriques de réplication.

s3:LifecycleExpiration:*

s3:LifecycleExpiration:Delete

s3:LifecycleExpiration:DeleteMarkerCreated

Avec les types d’événements LifecycleExpiration, vous pouvez recevoir une notification lorsqu’Amazon S3 supprime un objet en fonction de votre configuration de cycle de vie S3.

Le type d’événement s3:LifecycleExpiration:Delete vous avertit lorsqu’un objet dans un compartiment non versionné est supprimé. Il vous avertit également lorsqu'une version d'objet est définitivement supprimée par une configuration de cycle de vie S3. Le type d’événement s3:LifecycleExpiration:DeleteMarkerCreated vous avertit lorsque le cycle de vie S3 crée un marqueur de suppression lors de la suppression d’une version actuelle d’un objet dans un compartiment versionné.

s3:LifecycleTransition Vous recevez cette notification d’événement lorsqu’un objet est transféré vers une autre classe de stockage Amazon S3 par une configuration de cycle de vie S3.
s3:IntelligentTiering Vous recevez cette notification d’événement afin d’être informé lorsqu’un objet de la classe de stockage S3 Intelligent-Tiering est passé au niveau d’accès Archive ou au niveau d’accès Deep Archive.

s3:ObjectTagging:*

s3:ObjectTagging:Put

s3:ObjectTagging:Delete

L’utilisation des types d’événements ObjectTagging vous permet d’activer l’envoi de notifications lorsqu’une balise d’objet est ajoutée ou supprimée d’un objet.

Le type d’événement s3:ObjectTagging:Put vous avertit lorsqu’une étiquette est PUT sur un objet ou qu’une étiquette existante est mise à jour. Le type d'événement s3:ObjectTagging:Delete vous avertit lorsqu'une étiquette est supprimée d'un objet.

s3:ObjectAcl:Put Vous recevez cette notification d’événement lorsqu’une liste ACL est PUT sur un objet ou lorsqu’une liste ACL existante est modifiée. Un événement n’est pas généré lorsqu’une demande n’entraîne aucune modification de la liste ACL d’un objet.

Types d'événements pris en charge pour Amazon EventBridge

Pour obtenir la liste des types d'événements qu'Amazon S3 enverra à Amazon EventBridge, consultezEn utilisant EventBridge.

Ordre des événements et doublons

Les notifications d’événements Amazon S3 sont conçues pour envoyer des notifications au moins une fois, mais il n’est pas garanti qu’elles arrivent dans le même ordre que celui dans lequel les événements se sont produits. Dans de rares cas, le mécanisme de nouvelle tentative d’Amazon S3 peut provoquer des notifications d’événement S3 dupliquées pour le même événement d’objet. Pour en savoir plus sur la gestion des événements dupliqués ou des événements qui ne sont pas notifiés dans l’ordre, consultez Gestion de l’ordre des événements et des événements dupliqués avec les notifications d’événements Amazon S3 dans le blog AWS Storage.