Examples : Suivi d’une tâche S3 Batch Operations dans Amazon EventBridge via AWS CloudTrail
L’activité de la tâche S3 Batch Operations est enregistrée en tant qu’événements dans AWS CloudTrail. Vous pouvez créer une règle personnalisée dans Amazon EventBridge et envoyer ces événements à la ressource de notification cible de votre choix, telle qu’Amazon Simple Notification Service (Amazon SNS).
Note
Amazon EventBridge est la meilleure façon de gérer vos événements. Amazon CloudWatch Events et EventBridge représentent les mêmes services et API sous-jacents, mais EventBridge offre davantage de fonctionnalités. Les modifications que vous apportez dans CloudWatch ou EventBridge apparaissent dans chaque console. Pour plus d’informations, consultez le Guide de l’utilisateur Amazon EventBridge.
Exemples de suivi
Événements S3 Batch Operations enregistrés dans CloudTrail
Lorsqu’une tâche Batch Operations est créée, elle est enregistrée en tant qu’événement JobCreated dans CloudTrail. Au fur et à mesure que la tâche s’exécute, elle change d’état pendant le traitement et d’autres événements JobStatusChanged sont enregistrés dans CloudTrail. Vous pouvez afficher ces événements sur la console CloudTrail
Note
Seuls les événements status-change des tâches S3 Batch Operations sont enregistrés dans CloudTrail.
Exemple - Événement de fin de tâche S3 Batch Operations enregistré par CloudTrail
{ "eventVersion": "1.05", "userIdentity": { "accountId": "123456789012", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-05T18:25:30Z", "eventSource": "s3.amazonaws.com", "eventName": "JobStatusChanged", "awsRegion": "us-west-2", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "requestParameters": null, "responseElements": null, "eventID": "f907577b-bf3d-4c53-b9ed-8a83a118a554", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "123412341234", "serviceEventDetails": { "jobId": "d6e58ec4-897a-4b6d-975f-10d7f0fb63ce", "jobArn": "arn:aws:s3:us-west-2:181572960644:job/d6e58ec4-897a-4b6d-975f-10d7f0fb63ce", "status": "Complete", "jobEventId": "b268784cf0a66749f1a05bce259804f5", "failureCodes": [], "statusChangeReason": [] } }
Règle EventBridge pour le suivi des événements de tâche S3 Batch Operations
L’exemple suivant montre comment créer une règle dans Amazon EventBridge pour capturer les événements S3 Batch Operations enregistrés par AWS CloudTrail vers une cible de votre choix.
Pour ce faire, créez une règle en suivant toutes les étapes décrites dans Création de règles EventBridge qui réagissent aux événements. Vous collez la stratégie de modèle d’événement personnalisé S3 Batch Operations suivante, le cas échéant, et vous choisissez le service cible de votre choix.
Stratégie de modèle d’événement personnalisé de S3 Batch Operations
{ "source": [ "aws.s3" ], "detail-type": [ "AWS Service Event via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "JobCreated", "JobStatusChanged" ] } }
Les exemples suivants sont deux événements Batch Operations qui ont été envoyés à Amazon Simple Queue Service (Amazon SQS) à partir d’une règle d’événement EventBridge. Une tâche Batch Operations passe par de nombreux états différents pendant son traitement (New, Preparing, Active, etc.), de sorte que vous pouvez vous attendre à recevoir plusieurs messages pour chaque tâche.
Exemple - Exemple d’événement JobCreated
{ "version": "0", "id": "51dc8145-541c-5518-2349-56d7dffdf2d8", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.s3", "account": "123456789012", "time": "2020-02-27T15:25:49Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "11112223334444", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-27T15:25:49Z", "eventSource": "s3.amazonaws.com", "eventName": "JobCreated", "awsRegion": "us-east-1", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "eventID": "7c38220f-f80b-4239-8b78-2ed867b7d3fa", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "jobId": "e849b567-5232-44be-9a0c-40988f14e80c", "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c", "status": "New", "jobEventId": "f177ff24f1f097b69768e327038f30ac", "failureCodes": [], "statusChangeReason": [] } } }
Exemple — Événement de fin de tâche JobStatusChanged
{ "version": "0", "id": "c8791abf-2af8-c754-0435-fd869ce25233", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.s3", "account": "123456789012", "time": "2020-02-27T15:26:42Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "1111222233334444", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-27T15:26:42Z", "eventSource": "s3.amazonaws.com", "eventName": "JobStatusChanged", "awsRegion": "us-east-1", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "eventID": "0238c1f7-c2b0-440b-8dbd-1ed5e5833afb", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "jobId": "e849b567-5232-44be-9a0c-40988f14e80c", "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c", "status": "Complete", "jobEventId": "51f5ac17dba408301d56cd1b2c8d1e9e", "failureCodes": [], "statusChangeReason": [] } } }