AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Comment créer et résoudre un problème lié à une règle EventBridge qui se déclenche lorsque des modifications sont apportées aux objets ou aux opérations S3 ?
Je souhaite créer un flux de travail Amazon EventBridge qui se déclenche lorsque des modifications sont apportées aux compartiments ou aux objets Amazon Simple Storage Service (Amazon S3).
Résolution
Pour utiliser EventBridge afin de capturer des événements Amazon S3, vous pouvez utiliser AWS CloudTrail ou capturer des événements directement depuis Amazon S3.
Chaque option comprend son propre ensemble de métadonnées. Les événements proposés par CloudTrail incluent des informations sur l'API AWS, Gestion des identités et des accès AWS (AWS IAM) et userAgent. Les événements envoyés depuis Amazon S3 incluent les détails de l'objet, par exemple sa taille.
Capturer des événements S3 via CloudTrail
Vous pouvez utiliser CloudTrail pour surveiller et capturer les modifications apportées aux compartiments S3, telles que la création, la modification ou la suppression. CloudTrail transmet automatiquement ces événements à EventBridge.
Pour capturer les événements S3 via CloudTrail, procédez comme suit :
- Créez un journal d’activité CloudTrail pour journaliser les événements dans les compartiments S3 concernés.
- Créez une ressource pour traiter les événements S3.
Remarque : La ressource que vous créez peut être n'importe quelle cible EventBridge prise en charge. Par exemple, AWS Lambda, une tâche Amazon Elastic Container Service (Amazon ECS), une destination d'API ou un flux de diffusion Amazon Kinesis Data Firehose. - Créez une règle EventBridge avec un modèle d'événement correspondant aux événements S3. L'exemple suivant montre un modèle d'événement qui correspond aux appels d'API PutObject, DeleteObject et DeleteObjects effectués sur un compartiment S3 spécifique :
Remarque : Les clés commencent par feature1/ et feature2/.{ "source": [ "aws.s3" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventName": [ "PutObject", "DeleteObject", "DeleteObjects" ], "requestParameters": { "bucketName": [ "123456789012-prod-app" ], "key": [ { "prefix": "feature1/" }, { "prefix": "feature2/" } ] } } } - Associez la ressource que vous avez créée à la règle EventBridge en tant que cible.
Pour plus d'informations sur la procédure de capture des événements de données, consultez le didacticiel : Journaliser les opérations au niveau des objets d'Amazon S3 à l'aide d'EventBridge.
Utiliser Amazon S3 pour capturer des événements S3
Cette option ne requiert pas CloudTrail. Le compartiment S3 est configuré pour envoyer toutes les opérations sur cette ressource au service EventBridge.
Activer les événements S3 sur EventBridge
- Ouvrez la console Amazon S3.
- Dans la liste Compartiments, choisissez le nom du compartiment pour lequel vous souhaitez activer des événements.
Remarque : Pour plus d'informations, consultez la section Activation d'Amazon EventBridge. - Sélectionnez Propriétés.
- Accédez à la section Notifications d'événements, puis recherchez Amazon EventBridge. Sélectionnez Modifier.
- Dans Envoyer des notifications à Amazon EventBridge pour tous les événements de ce compartiment, sélectionnez Activé.
Créer une ressource pour traiter les événements S3
La ressource que vous créez peut être n'importe quelle cible EventBridge prise en charge.
Créer une règle EventBridge avec un modèle d'événement correspondant aux événements S3
Créez une règle EventBridge avec un modèle d'événement correspondant aux événements S3. Voici un exemple de modèle d'événement qui se déclenche lorsqu'un objet est créé ou supprimé dans un compartiment S3 spécifique :
{ "source": [ "aws.s3" ], "detail-type": [ "Object Created", "Object Deleted" ], "detail": { "bucket": { "name": [ "123456789012-prod-app" ] }, "object": { "size": [ { "numeric": [ ">=", 15728640 ] } ], "key": [ { "suffix": ".zip" } ] } } }
Remarque : Le modèle est un filtre basé sur des paramètres de nom de fichier tels qu'une taille supérieure à 15 Mo et avec l’extension zip.
Associer la ressource à la règle
Associez la ressource à la règle que vous avez créée avec la règle EventBridge comme cible.
Corriger les erreurs
Assurez-vous que les traces CloudTrail ou les notifications d'événements S3 nécessaires sont correctement configurées.
Utilisez les métriques EventBridge TriggeredRules et Invocations pour confirmer les correspondances avec la règle et les invocations cibles réussies.
Les points de données TriggeredRules indiquent que la règle correspond à l'événement entrant. S'il n'existe aucun point de données, réévaluez le modèle d'événement.
La métrique FailedInvocations indique qu'il existe un problème avec la façon dont EventBridge transmet les événements à la cible. Cela peut être lié à des autorisations IAM ou de politiques de ressources, ou à des configurations cibles.
Étant donné que le modèle d'événement est sensible à la casse, « FAILED » et « failed » sont traités différemment. L'outil EventBridge Sandbox propose des exemples d'événements organisés par les services AWS et les partenaires EventBridge. L'outil valide les événements entrants par rapport au modèle d'événement.
Pour qu'un événement puisse être identifié, tous les champs du modèle d'événement doivent lui correspondre. Pour résoudre les problèmes liés au modèle d'événement, supprimez des champs pour créer un modèle d'événement plus générique. Pour plus d’informations, consultez la section Comment puis-je résoudre les problèmes liés aux règles EventBridge ?
Les règles EventBridge peuvent comporter jusqu'à cinq cibles. Pour résoudre les problèmes, attachez temporairement un groupe Amazon CloudWatch Logs ou une rubrique Amazon Simple Notification Service (Amazon SNS). Le groupe de journaux et les notifications capturent l'événement transmis à la cible et permettent d'isoler les erreurs de configuration.
Informations connexes
Comment créer une règle EventBridge pour automatiser les réponses aux appels d'API CloudTrail ?
Utiliser les notifications d'événements Amazon S3 avec Amazon EventBridge
Utilisation de la gestion dynamique des événements Amazon S3 avec Amazon EventBridge
- Sujets
- Application Integration
- Balises
- Amazon EventBridge
- Langue
- Français

Contenus pertinents
demandé il y a 2 ans
demandé il y a 2 ans
demandé il y a un an
demandé il y a 4 ans
AWS OFFICIELA mis à jour il y a 7 mois