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 (versão): atualmente 0 (zero) para todos os eventos.

  • id: um UUID gerado para cada evento.

  • detail-type (detalhe-tipo): o tipo de evento que está sendo enviado. Consulte Usar o EventBridge para obter uma lista dos tipos de evento.

  • source (origem): identifica o serviço que originou o evento.

  • account (conta): o ID de 12 dígitos da Conta da AWS do proprietário do bucket.

  • time (hora): a hora em que o evento ocorreu.

  • region (região): identifica a Região da AWS do bucket.

  • resources (recursos): uma matriz JSON que contém o nome do recurso da Amazon (ARN) do bucket.

  • detail (detalhe): contém um objeto JSON com as 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 (versão): atualmente 0 (zero) para todos os eventos.

  • bucket: informações sobre o bucket do Amazon S3 envolvido no evento.

  • object (objeto): informações sobre o objeto do Amazon S3 envolvido no evento.

  • request-id (solicitação-id): ID da solicitação na resposta do S3.

  • requester (solicitante): ID da Conta da AWS ou entidade principal do serviço da AWS do solicitante.

  • source-ip-address (origem-ip-endereço): endereço IP de origem da solicitação do S3. Presente somente para eventos acionados por uma solicitação do S3.

  • reason (motivo): para eventos Object Created (Objeto criado), a API do S3 usada para criar o objeto: PutObject, POST Object, CopyObject ou CompleteMultipartUpload. Em eventos Object Deleted (Objeto excluído), é definido como DeleteObject quando um objeto é excluído por uma chamada de API do S3 ou Lifecycle Expiration (Validade do ciclo de vida) quando um objeto é excluído por uma regra de validade do S3 Lifecycle. Para obter mais informações, consulte Expirando objetos.

  • deletion-type (exclusão-tipo): em eventos Object Deleted (Objeto excluído) quando um objeto sem versionamento é excluído ou um objeto com versionamento é excluído permanentemente, o campo deletion-type é definido como Permanently Deleted (Excluído permanentemente). Quando um marcador de exclusão é criado para um objeto versionado, é definido como Delete Marker Created (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 (restaurar-validade-hora): para eventos Object Restore Completed (Restauração de objetos concluída), 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 (origem-armazenamento-classe): para eventos Object Restore Initiated (Iniciar a restauração de objetos) e Object Restore Completed (Restauração de objetos concluída), a classe de armazenamento do objeto que está sendo restaurado. Para obter mais informações, consulte Trabalhando com objetos arquivados.

  • destination-storage-class (destino-armazenamento-classe): para eventos Object Storage Class Changed (Classe de armazenamento de objetos alterada), 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 (destino-acesso-nível): para eventos Object Access Tier Changed (Nível de acesso a objetos alterado), o novo nível de acesso do objeto. Para obter mais informações, consulte Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering.