Ejemplos: seguimiento de un trabajo de las operaciones por lotes de S3 en Amazon EventBridge a través de AWS CloudTrail - Amazon Simple Storage Service

Ejemplos: seguimiento de un trabajo de las operaciones por lotes de S3 en Amazon EventBridge a través de AWS CloudTrail

La actividad de los trabajos de las operaciones por lotes en Amazon S3 se registra como eventos en AWS CloudTrail. Puede crear una regla personalizada en Amazon EventBridge y enviar estos eventos al recurso de notificación de destino que desee, como Amazon Simple Notification Service (Amazon SNS).

nota

Amazon EventBridge es la forma preferida de administrar sus eventos. Amazon CloudWatch Events y EventBridge son el mismo servicio subyacente y la misma API, pero EventBridge ofrece más características. Los cambios que realice en CloudWatch o EventBridge aparecerán en cada consola. Para obtener más información, consulte la Guía del usuario de Amazon EventBridge.

Eventos de operaciones por lotes de S3 registrados en CloudTrail

Cuando se crea un trabajo de Operaciones por lotes, se registra como un evento JobCreated en CloudTrail. A medida que se ejecuta el trabajo, cambia de estado durante el procesamiento y se registran otros eventos JobStatusChanged en CloudTrail. Puede ver estos eventos en la consola de CloudTrail. Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.

nota

Solo los eventos status-change del trabajo de Operaciones por lotes de S3 se registran en CloudTrail.

ejemplo Evento de finalización del trabajo de operaciones por lotes de S3 registrado por 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": [] } }

Regla de EventBridge para el seguimiento de eventos de trabajo de operaciones por lotes de S3

En el siguiente ejemplo, se muestra cómo crear una regla en Amazon EventBridge para capturar los eventos de la herramienta de operaciones por lotes de S3 registrados por AWS CloudTrail en un destino de su elección.

Para ello, cree una regla siguiendo todos los pasos de Creación de reglas de EventBridge que reaccionen a los eventos. Puede pegar la siguiente política de patrones de eventos personalizados de Operaciones por lotes de S3 cuando corresponda y elegir el servicio de destino que desee.

Política de patrones de eventos personalizados de Operaciones por lotes de S3

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

Los siguientes ejemplos son dos eventos de Operaciones por lotes que se enviaron a Amazon Simple Queue Service (Amazon SQS) desde una regla de eventos de EventBridge. Un trabajo de Operaciones por lotes pasa por muchos estados diferentes durante el procesamiento (New, Preparing, Active, etc.), por lo que puede esperar recibir varios mensajes para cada trabajo.

ejemplo Ejemplo de evento 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": [] } } }
ejemplo Evento de finalización de trabajo 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": [] } } }