

# Estrutura de mensagens de eventos do EventBridge
<a name="ev-events"></a>

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](EventBridge.md) 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](#ev-events-detail).

## Exemplos de estrutura de mensagens de evento
<a name="ev-events-list"></a>

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
<a name="ev-events-object-created"></a>

```
{
  "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)
<a name="ev-events-object-deleted"></a>

```
{
  "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)
<a name="ev-events-object-deleted-lifecycle"></a>

```
{
  "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
<a name="ev-events-object-restore-complete"></a>

```
{
  "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
<a name="ev-events-detail"></a>

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 ([https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) ou [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)). Para eventos **Object Deleted**, é definido como **DeleteObject** quando um objeto é excluído por uma chamada de API do S3 ou como **Data de expiração do ciclo de vida** quando um objeto é excluído por uma regra de expiração do Ciclo de Vida do S3. Para ter mais informações, consulte [Expirando objetos](lifecycle-expire-general-considerations.md).
+ `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 ter mais informações, consulte [Excluir versões de objetos de um bucket com versionamento habilitado](DeletingObjectVersions.md).
**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 ter mais informações, consulte [Trabalhando com objetos arquivados](archived-objects.md).
+ `source-storage-class`: para eventos **Object Restore Initiated** e **Object Restore Completed**, a classe de armazenamento do objeto que está sendo restaurado. Para ter mais informações, consulte [Trabalhando com objetos arquivados](archived-objects.md).
+ `destination-storage-class`: para eventos **Object Storage Class Changed**, a nova classe de armazenamento do objeto. Para ter mais informações, consulte [Transição de objetos usando o Amazon S3 Lifecycle](lifecycle-transition-general-considerations.md).
+ `destination-access-tier`: para eventos **Object Access Tier Changed**, o novo nível de acesso do objeto. Para ter mais informações, consulte [Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering](intelligent-tiering.md).