

# Usar o EventBridge
<a name="EventBridge"></a>

O Amazon S3 pode enviar eventos ao Amazon EventBridge sempre que certos eventos ocorrerem no bucket. Ao contrário de outros destinos, não é necessário selecionar quais tipos de evento você deseja entregar. Depois que o EventBridge estiver habilitado, todos os eventos abaixo serão enviados ao EventBridge. Você pode usar regras do EventBridge para encaminhar eventos para outros destinos. A seguir, estão listados os eventos que o Amazon S3 envia ao EventBridge.


|  Tipo de evento |  Descrição  | 
| --- | --- | 
|  *Objeto criado*  |  Um objeto foi criado. O campo reason na estrutura de mensagens de eventos indica qual API do S3 foi 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).  | 
|  *Objeto excluído (DeleteObject)* *Objeto excluído (validade do ciclo de vida)*  |  Um objeto foi excluído. Quando um objeto é excluído usando uma chamada de API do S3, o campo reason é definido como DeleteObject. Quando um objeto é excluído por uma regra de validade do S3 Lifecycle, o campo reason (motivo) é definido como Lifecycle Expiration (Validade do ciclo de vida). Para obter mais informações, consulte [Expirando objetos](lifecycle-expire-general-considerations.md). Quando um objeto sem versionamento é excluído ou um objeto com versionamento é excluído permanentemente, o campo deletion-type é definido como Permanently Deleted. Quando um marcador de exclusão é criado para um objeto versionado, o campo `deletion-type` é definido como Delete Marker Created. Para obter mais informações, consulte [Excluir versões de objetos de um bucket com versionamento habilitado](DeletingObjectVersions.md).  | 
|  *Restauração de objeto iniciada*  |  Uma restauração de objetos foi iniciada da classe de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive ou do nível de acesso de arquivo ou de acesso de arquivo profundo do S3 Intelligent-Tiering. Para obter mais informações, consulte [Trabalhando com objetos arquivados](archived-objects.md).  | 
|  *Restauração de objeto concluída*  |  Uma restauração de objeto foi concluída.  | 
|  *Restauração de objeto expirada*  |  A cópia temporária de um objeto restaurado do S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive expirou e foi excluída.  | 
|  *Classe de armazenamento de objetos alterada*  |  Um objeto foi transferido para uma classe de armazenamento diferente. Para obter mais informações, consulte [Transição de objetos usando o Amazon S3 Lifecycle](lifecycle-transition-general-considerations.md).  | 
|  *Nível de acesso de objeto alterado*  |  Um objeto foi transferido para o nível de acesso de arquivo ou de acesso de arquivo profundo do S3 Intelligent-Tiering. Para obter mais informações, consulte [Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering](intelligent-tiering.md).  | 
|  *ACL de objeto atualizada*  |  Uma lista de controle de acesso (ACL) de objetos foi definida usando `PutObjectAcl`. Não é gerado evento quando uma solicitação não resulta em alteração na ACL de um objeto. Para obter mais informações, consulte [Visão geral da lista de controle de acesso (ACL)](acl-overview.md).  | 
|  *Etiquetas de objeto adicionadas*  |  Um conjunto de tags foi adicionado a um objeto usando `PutObjectTagging`. Para obter mais informações, consulte [Categorizar objetos usando tags](object-tagging.md).  | 
|  *Etiquetas de objeto excluídas*  |  Todas as tags foram removidas de um objeto usando `DeleteObjectTagging`. Para obter mais informações, consulte [Categorizar objetos usando tags](object-tagging.md).  | 

**nota**  
Para obter mais informações sobre como os tipos de eventos do Amazon S3 são mapeados para os tipos de evento do EventBridge, consulte [Mapeamento e solução de problemas do Amazon EventBridge](ev-mapping-troubleshooting.md).

Você pode usar o Amazon S3 Event Notifications com o EventBridge para escrever regras que executam ações quando um evento ocorre em seu bucket. Por exemplo, ele pode enviar uma notificação para você. Para obter mais informações, consulte [What is EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) no *Guia do usuário do Amazon EventBridge*.

Para obter mais informações sobre as ações e os tipos de dados com os quais você pode interagir usando a API do EventBridge, consulte [Amazon EventBridge API Reference](https://docs.aws.amazon.com/eventbridge/latest/APIReference/Welcome.html) na *Referência da API do Amazon EventBridge*.

Para obter informações sobre preços, consulte [Preços do Amazon EventBridge](https://aws.amazon.com/eventbridge/pricing).

**Topics**
+ [

# Permissões do Amazon EventBridge
](ev-permissions.md)
+ [

# Habilitar o Amazon EventBridge
](enable-event-notifications-eventbridge.md)
+ [

# Estrutura de mensagens de eventos do EventBridge
](ev-events.md)
+ [

# Mapeamento e solução de problemas do Amazon EventBridge
](ev-mapping-troubleshooting.md)

# Permissões do Amazon EventBridge
<a name="ev-permissions"></a>

O Amazon S3 não necessita de outras permissões para entregar eventos ao Amazon EventBridge.

# Habilitar o Amazon EventBridge
<a name="enable-event-notifications-eventbridge"></a>

Você pode habilitar o Amazon EventBridge usando o console do S3, a AWS Command Line Interface (AWS CLI) ou a API REST do Amazon S3. 

**nota**  
Depois que você habilitar o EventBridge, leva cerca de cinco minutos para que as alterações sejam implementadas.

## Usar o console do S3
<a name="eventbridge-console"></a>

**Para habilitar a entrega de eventos do EventBridge no console do S3.**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Na lista de buckets, escolha o nome do bucket para o qual você deseja habilitar eventos.

1. Escolha **Properties (Propriedades)**.

1. Navegue até a seção **Event Notifications** (Notificações de eventos) e encontre a subsecção **Amazon EventBridge**. Escolha **Editar**.

1. Em** Send notifications to Amazon EventBridge for all events in this bucket** (Enviar notificações para o Amazon EventBridge para todos os eventos deste bucket), escolha **No** (Não).

## Como usar o AWS CLI
<a name="eventbridge-cli"></a>

O exemplo a seguir cria uma configuração de notificação de bucket para bucket *`amzn-s3-demo-bucket1`* com o Amazon EventBridge habilitado.

```
aws s3api put-bucket-notification-configuration --bucket amzn-s3-demo-bucket1 --notification-configuration='{ "EventBridgeConfiguration": {} }'
```

## Uso da API REST
<a name="eventbridge-api"></a>

Você pode habilitar o Amazon EventBridge de maneira programática em um bucket chamando a API REST do Amazon S3. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) na *Referência da API do Amazon Simple Storage Service*.

O exemplo a seguir exibe o XML usado para criar uma configuração de notificação de bucket com o Amazon EventBridge habilitado.

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <EventBridgeConfiguration>
  </EventBridgeConfiguration>
</NotificationConfiguration>
```

## Criar regras do EventBridge
<a name="ev-tutorial"></a>

Depois de habilitado, você pode criar regras do Amazon EventBridge para determinadas tarefas. Por exemplo, é possível enviar notificações por e-mail quando um objeto é criado. Para obter um tutorial completo, consulte [Tutorial: enviar uma notificação quando um objeto do Amazon S3 for criado](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html) no *Guia do usuário do Amazon EventBridge*.

# 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 **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](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 obter 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 obter 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 obter 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 obter 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 obter mais informações, consulte [Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering](intelligent-tiering.md).

# Mapeamento e solução de problemas do Amazon EventBridge
<a name="ev-mapping-troubleshooting"></a>

A tabela a seguir descreve como os tipos de eventos do Amazon S3 são mapeados para os tipos de evento do Amazon EventBridge.


|  Tipo de evento do S3 |  Tipo de detalhes do Amazon EventBridge  | 
| --- | --- | 
|  [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) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  Objeto criado  | 
|  ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated LifecycleExpiration:Delete LifecycleExpiration:DeleteMarkerCreated  |  Objeto excluído  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  Restauração de objeto iniciada  | 
|  ObjectRestore:Completed  |  Restauração de objeto concluída  | 
|  ObjectRestore:Delete  |  Restauração de objeto expirada  | 
|  LifecycleTransition  |  Classe de armazenamento de objetos alterada  | 
|  IntelligentTiering  |  Nível de acesso de objeto alterado  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  Etiquetas de objeto adicionadas  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  Etiquetas de objeto excluídas  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  ACL de objeto atualizada  | 

## Solução de problemas do Amazon EventBridge
<a name="ev-troubleshooting"></a>

Para obter informações sobre como solucionar problemas do EventBridge, consulte [Solucionar problemas no Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-troubleshooting.html) no *Guia do usuário do Amazon EventBridge*.