Estructura de mensaje de evento EventBridge
El mensaje de notificación que Amazon S3 envía para publicar un evento está en formato JSON. Cuando Amazon S3 envía un evento a Amazon EventBridge, aparecen los siguientes campos.
-
version: actualmente 0 (cero) para todos los eventos. -
id: un UUID generado para cada evento. -
detail-type: el tipo de evento que se envía. Para obtener una lista de los tipos de eventos, consulte Uso de EventBridge. -
source: identifica el servicio que generó el evento. -
account: el ID de 12 dígitos de la Cuenta de AWS del propietario del bucket. -
time: la hora a la que se produjo el evento. -
region: identifica la Región de AWS del bucket. -
resources: una matriz JSON que contiene el nombre de recurso de Amazon (ARN) del bucket. -
detail– Un objeto JSON que contiene información sobre el evento. Para obtener más información acerca de lo que se puede incluir en este campo, consulte Campo de detalle del mensaje de evento.
Ejemplos de estructura de mensaje de evento
A continuación, se muestran ejemplos de algunos de los mensajes de notificación de eventos de Amazon S3 que se pueden enviar a Amazon EventBridge.
Objeto creado
{ "version": "0", "id": "17793124-05d4-b198-2fde-7ededc63b103", "detail-type": "Object Created", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "size": 5, "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d189" }, "request-id": "N4N7GDK58NMKJ12R", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "PutObject" } }
Objeto eliminado (utilizando DeleteObject)
{ "version": "0", "id": "2ee9cc15-d022-99ea-1fb8-1b1bac4850f9", "detail-type": "Object Deleted", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "d41d8cd98f00b204e9800998ecf8427e", "version-id": "1QW9g1Z99LUNbvaaYVpW9xDlOLU.qxgF", "sequencer": "617f0837b476e463" }, "request-id": "0BH729840619AG5K", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "DeleteObject", "deletion-type": "Delete Marker Created" } }
Objeto eliminado (utilizando vencimiento del ciclo de vida)
{ "version": "0", "id": "ad1de317-e409-eba2-9552-30113f8d88e3", "detail-type": "Object Deleted", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "d41d8cd98f00b204e9800998ecf8427e", "version-id": "mtB0cV.jejK63XkRNceanNMC.qXPWLeK", "sequencer": "617b398000000000" }, "request-id": "20EB74C14654DC47", "requester": "s3.amazonaws.com", "reason": "Lifecycle Expiration", "deletion-type": "Delete Marker Created" } }
Restauración de objetos completada
{ "version": "0", "id": "6924de0d-13e2-6bbf-c0c1-b903b753565e", "detail-type": "Object Restore Completed", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "size": 5, "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "KKsjUC1.6gIjqtvhfg5AdMI0eCePIiT3" }, "request-id": "189F19CB7FB1B6A4", "requester": "s3.amazonaws.com", "restore-expiry-time": "2021-11-13T00:00:00Z", "source-storage-class": "GLACIER" } }
Se ha creado una anotación de objeto
{ "version": "0", "id": "8c2bfa57-4a67-b2ea-c4e0-6d420ea3b3a6", "detail-type": "Object Annotation Created", "source": "aws.s3", "account": "111122223333", "time": "2025-03-15T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "2.4", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d189" }, "request-id": "4B4NGD358NMKJ12R", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "PutObjectAnnotation", "object-annotation": { "name": "my-annotation", "size": 24, "etag": "05df351ea190dffc26f55c74425b9d7a" } } }
Se ha eliminado una anotación de objeto
{ "version": "0", "id": "a3d1bc94-5f82-c7e1-d290-7e531fb4c5b8", "detail-type": "Object Annotation Removed", "source": "aws.s3", "account": "111122223333", "time": "2025-03-15T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "2.4", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d190" }, "request-id": "7C5NGD358NMKJ34S", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "DeleteObjectAnnotation", "object-annotation": { "name": "my-annotation" } } }
Campo de detalle del mensaje de evento
El campo de detalles contiene un objeto JSON con información sobre el evento. Los siguientes campos pueden estar presentes en el campo de detalles.
-
version: actualmente 0 (cero) para todos los eventos. -
event-version: la versión del esquema de eventos del formulario(por ejemplo,major.minor1.0).La versión principal se incrementa si Amazon S3 realiza un cambio en la estructura del evento que no es compatible con versiones anteriores. Esto incluye eliminar un campo JSON existente o cambiar la forma en que se representa el contenido de un campo (por ejemplo: un formato de fecha).
La versión secundaria se incrementa si Amazon S3 realiza un cambio en la estructura del evento que es compatible con versiones anteriores. Esto incluye agregar campos nuevos a la estructura del evento o ingresar nuevos tipos de eventos. Para mantener la compatibilidad con versiones secundarias nuevas de la estructura de eventos, recomendamos que las aplicaciones ignoren los campos nuevos.
Para asegurarse de que las aplicaciones pueden analizar la estructura de eventos correctamente, le recomendamos que haga una comparación de igualdad con el número de la versión principal. Para asegurarse de que los campos previstos por la aplicación están presentes, también recomendamos realizar una comparación mayor o igual que con la versión secundaria.
-
bucket: información sobre el bucket de Amazon S3 involucrado en el evento. -
object: información sobre el objeto de Amazon S3 involucrado en el evento. -
request-id: ID de solicitud en la respuesta de S3. -
requester: ID de la Cuenta de AWS o entidad principal de servicio de AWS del solicitante. -
source-ip-address: la dirección IP de origen de la solicitud de S3. Solo está presente para eventos desencadenados por una solicitud de S3. -
reason: para eventos de Objeto creado, la API de S3 utilizada para crear el objeto: PutObject, POST Object, CopyObject o CompleteMultipartUpload. Para eventos de Objeto eliminado, esto se configura en DeleteObject cuando se elimina un objeto mediante una llamada a la API de S3 o Vencimiento del ciclo de vida cuando se elimina un objeto mediante una regla de vencimiento del ciclo de vida de S3. Para obtener más información, consulte Vencimiento de objetos. -
deletion-type: para eventos de Objeto eliminado, cuando se elimina un objeto sin control de versiones o se elimina de forma permanente un objeto con control de versiones, esto se establece en Eliminado de forma permanente. Cuando se crea un marcador de eliminación para un objeto con control de versiones, esto se establece en Delete Marker Created (Marcador de eliminación creado). Para obtener más información, consulte Eliminar versiones de objetos de un bucket con control de versiones habilitado.nota
Algunos atributos del objeto (como
etagysize) solo están presentes cuando se crea un marcador de eliminación. -
restore-expiry-time: para eventos de Restauración de objetos completada, la hora en que la copia temporal del objeto se eliminará de S3. Para obtener más información, consulte Trabajar con objetos archivados. -
source-storage-class: para eventos de Restauración de objetos iniciada y Restauración de objetos completada, la clase de almacenamiento del objeto que se está restaurando. Para obtener más información, consulte Trabajar con objetos archivados. -
destination-storage-class: para eventos de Clase de almacenamiento de destino cambiada, la nueva clase de almacenamiento del objeto. Para obtener más información, consulte Transición de objetos con Amazon S3 Lifecycle. -
destination-access-tier: para eventos de Nivel de acceso de destino cambiado, el nuevo nivel de acceso del objeto. Para obtener más información, consulte Administración de costos con Amazon S3 Intelligent-Tiering. -
object-annotation: para los eventos Se ha creado una anotación de objeto y Se ha eliminado una anotación de objeto, el campodetailincluye un campoobject-annotationque contiene información sobre la anotación. -
has-object-annotation: para los eventos Se ha creado un objeto con la razónCopyObject, el bloqueobjectincluye un campo booleanohas-object-annotationque indica si el objeto copiado tiene anotaciones.