Estrutura de mensagens de eventos do EventBridge
A mensagem de notificação que o Amazon S3 envia para publicar um evento tem o formato JSON. Quando o Amazon S3 envia um evento ao Amazon EventBridge, os campos a seguir estão presentes.
-
version: atualmente é 0 (zero) para todos os eventos. -
id: um UUID gerado para cada evento. -
detail-type: o tipo de evento que está sendo enviado. Consulte Usar o EventBridge para ver uma lista dos tipos de evento. -
source: identifica o serviço que gerou o evento. -
account: o ID de 12 dígitos da Conta da AWS do proprietário do bucket. -
time: a hora em que o evento ocorreu. -
region: identifica a Região da AWS do bucket. -
resources: uma matriz JSON que contém o nome do recurso da Amazon (ARN) do bucket. -
detail: um objeto JSON que contém informações sobre o evento. Para obter mais informações sobre o que pode ser incluído nesse campo, consulte Campo de detalhes da mensagem de evento.
Exemplos de estrutura de mensagens de evento
Veja a seguir exemplos de algumas das mensagens de notificação de eventos do Amazon S3 que podem ser enviadas ao Amazon EventBridge.
Objeto criado
{ "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", "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 excluído (usando 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", "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 excluído (usando validade do 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", "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" } }
Restauração de objeto concluída
{ "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", "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" } }
Campo de detalhes da mensagem de evento
O campo detail (detalhe) contém um objeto JSON com informações sobre o evento. Os campos a seguir podem estar presentes no campo detail (detalhe).
-
version: atualmente é 0 (zero) para todos os eventos. -
bucket: informações sobre o bucket do Amazon S3 envolvido no evento. -
object: informações sobre o objeto do Amazon S3 envolvido no evento. -
request-id: ID da solicitação na resposta do S3. -
requester: ID da Conta da AWS ou entidade principal do serviço do solicitante. -
source-ip-address: o endereço IP de origem da solicitação do S3. Presente somente para eventos acionados por uma solicitação do S3. -
reason: para eventos Object Created, a API do S3 é usada para criar o objeto (PutObject, POST Object, CopyObject ou CompleteMultipartUpload). Para eventos Object Deleted, é definido como DeleteObject quando um objeto é excluído por uma chamada de API do S3 ou como Validade do ciclo de vida quando um objeto é excluído por uma regra de expiração do Ciclo de Vida do S3. Para obter mais informações, consulte Expirando objetos. -
deletion-type: para eventos Object Deleted quando um objeto sem versionamento é excluído ou um objeto com versionamento é excluído permanentemente, é definido como Excluído permanentemente. Quando um marcador de exclusão é criado para um objeto versionado, é definido como Marcador de exclusão criado. Para obter mais informações, consulte Excluir versões de objetos de um bucket com versionamento habilitado.nota
Alguns atributos do objeto (como
etagesize) estão presentes somente quando um delete marker é criado. -
restore-expiry-time: para eventos Object Restore Completed, a hora em que a cópia temporária do objeto será excluída do S3. Para obter mais informações, consulte Trabalhando com objetos arquivados. -
source-storage-class: para eventos Object Restore Initiated e Object Restore Completed, a classe de armazenamento do objeto que está sendo restaurado. Para obter mais informações, consulte Trabalhando com objetos arquivados. -
destination-storage-class: para eventos Object Storage Class Changed, a nova classe de armazenamento do objeto. Para obter mais informações, consulte Transição de objetos usando o Amazon S3 Lifecycle. -
destination-access-tier: para eventos Object Access Tier Changed, o novo nível de acesso do objeto. Para obter mais informações, consulte Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering.