Estrutura de mensagens de eventos do EventBridge - Amazon Simple Storage Service

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 etag e size) 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.