Monitorar um trabalho de operações em lote do S3 no Amazon EventBridge por meio do AWS CloudTrail - Amazon Simple Storage Service

Monitorar um trabalho de operações em lote do S3 no Amazon EventBridge por meio do AWS CloudTrail

A atividade do trabalho de operações em lote do Amazon S3 é registrada como eventos no AWS CloudTrail. Você pode criar uma regra personalizada no Amazon EventBridge e enviar esses eventos para o recurso de notificação de destino de sua escolha, como o Amazon Simple Notification Service (Amazon SNS).

nota

O Amazon EventBridge é a maneira preferida de gerenciar seus eventos. O Amazon CloudWatch Events e o EventBridge são o mesmo serviço subjacente e API, mas o EventBridge oferece mais recursos. As alterações feitas no CloudWatch ou no EventBridge aparecem em cada console. Para obter mais informações, consulte o Guia do usuário do Amazon EventBridge.

Eventos de operações em lote do S3 registrados no CloudTrail

Quando um trabalho de operações em lote é criado, ele é gravado como um evento JobCreated no CloudTrail. À medida que o trabalho é executado, ele muda de estado durante o processamento e outros eventos JobStatusChanged são registrados no CloudTrail. Você pode visualizar esses eventos no console do CloudTrail. Para obter mais informações sobre o CloudTrail, consulte o Guia do usuário do AWS CloudTrail.

nota

Somente eventos status-change de trabalho de operações em lote do S3 são registrados no CloudTrail.

exemplo Evento de conclusão de trabalho de operações em lote do S3 registrado pelo 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": [] } }

Regra do EventBridge para rastrear eventos de trabalhos de operações em lote do S3

O exemplo a seguir mostra como criar uma regra no Amazon EventBridge para capturar eventos do S3 Batch Operations registrados pelo AWS CloudTrail para um destino escolhido por você.

Para fazer isso, você cria uma regra seguindo todas as etapas em Criação de regras do EventBridge que reagem aos eventos. Cole a política de padrão de evento personalizada de operações em lote do S3, quando aplicável, e selecione o serviço de destino de sua escolha.

Política de padrão de evento personalizado de operações em lote do S3

{ "source": [ "aws.s3" ], "detail-type": [ "AWS Service Event via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "JobCreated", "JobStatusChanged" ] } }

Os exemplos a seguir são dois eventos de operações em lote que foram enviados para o Amazon Simple Queue Service (Amazon SQS) a partir de uma regra de evento do EventBridge. Um trabalho de operações em lote passa por vários estados diferentes durante o processamento (New, Preparing, Active etc.), portanto, você pode esperar receber várias mensagens para cada trabalho.

exemplo Evento de exemplo 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": [] } } }
exemplo Evento de conclusão de trabalho 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": [] } } }