

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tutorial: Registre as operações em nível de objeto do Amazon S3 usando EventBridge
<a name="eb-log-s3-data-events"></a>

É possível registrar as operações de API no nível do objeto em seus buckets do [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html). Antes que a Amazon EventBridge possa igualar esses [eventos](eb-events.md), você deve usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)para configurar e configurar uma trilha para receber esses eventos.

Neste tutorial, você cria uma CloudTrail trilha, cria uma [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)função e, em seguida, cria uma [regra](eb-rules.md) no EventBridge console que invoca essa função em resposta a um evento de dados do S3.

**Topics**
+ [Etapa 1: configure sua AWS CloudTrail trilha](#eb-configure-trail)
+ [Etapa 2: criar uma AWS Lambda função](#eb-log-s3-create-lambda-function)
+ [Etapa 3: Criar uma regra](#eb-log-s3-create-rule)
+ [Etapa 4: Testar a regra](#eb-log-s3-test-rule)
+ [Etapa 5: confirmar o êxito](#success)
+ [Etapa 6: limpar os recursos](#cleanup)

## Etapa 1: configure sua AWS CloudTrail trilha
<a name="eb-configure-trail"></a>

Para registrar eventos de dados de um bucket do S3 em AWS CloudTrail e EventBridge, primeiro você cria uma trilha. A *trilha* captura chamadas de API e eventos relacionados em sua conta e fornece os arquivos de log para um bucket do S3 especificado. É possível atualizar uma trilha existente ou criar uma.

Para obter mais informações, consulte [Eventos de dados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-data-events), no *Guia do usuário do AWS CloudTrail *. 

**Para criar uma trilha**

1. Abra o CloudTrail console em [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Selecione **Trails (Trilhas)**, **Create trail (Criar trilha)**.

1. Em **Nome da trilha**, digite um nome para a trilha.

1. Em **Local de armazenamento**, em **Criar um novo bucket do S3**.

1. Em **alias do AWS KMS **, digite um alias para a chave do KMS.

1. Escolha **Próximo**.

1. Em **Tipo de evento**, escolha **Eventos de dados**.

1. Em **Eventos de dados**, siga um destes procedimentos:
   + Para registrar eventos de dados de todos os objetos do Amazon S3 em um bucket, especifique um bucket do S3 e um prefixo vazio. Quando ocorre um evento em um objeto nesse bucket, a trilha processa e registra o evento.
   + Para registrar eventos de dados de objetos específicos do Amazon S3 em um bucket, especifique um bucket do S3 e o prefixo do objeto. Quando ocorre um evento em um objeto nesse bucket e o objeto começa com o prefixo especificado, a trilha processa e registra o evento.

1. Para cada recurso, especifique se deseja registrar em log os eventos de **Leitura**, **Gravação** ou ambos.

1. Escolha **Próximo**.

1. Escolha **Create Trail (Criar trilha)**.

## Etapa 2: criar uma AWS Lambda função
<a name="eb-log-s3-create-lambda-function"></a>

Crie uma função do Lambda para registrar os eventos de dados de seus buckets do S3. 

**Criar uma função do Lambda**

1. Abra o AWS Lambda console em [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Escolha **Create function** (Criar função).

1. Escolha **Author from scratch** (Criar do zero).

1. Digite um nome e uma descrição para a função Lambda. Por exemplo, atribua à função o nome `LogS3DataEvents`.

1. Deixe o resto das opções como padrão e escolha **Criar função**.

1. Na guia **Código** da página da função, clique duas vezes em **index.js**.

1. Substitua o código existente pelo código a seguir.

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogS3DataEvents');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. Escolha **Implantar**.

## Etapa 3: Criar uma regra
<a name="eb-log-s3-create-rule"></a>

Crie uma regra para executar a função do Lambda criada na etapa 2. Esta regra é executada em resposta a um evento de dados do Amazon S3.

**Para criar uma regra do**

1. Abra o EventBridge console da Amazon em [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. No painel de navegação, escolha **Regras**.

1. Escolha **Create rule**.

1. Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como `TestRule`

1. Em **Barramento de Eventos**, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione **padrão**. Quando um serviço da AWS em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.

1. Em **Rule type**, escolha **Rule with an event pattern**.

1. Selecione **Next** (Próximo).

1. Em **Fonte do evento**, selecione **Serviços da AWS **.

1. Em **Event pattern** (Padrão de evento), faça o seguinte:

   1. Em **Origem do evento,** selecione **Simple Storage Service (S3)** na lista suspensa.

   1. Em **Tipo de evento**, selecione **Chamada de API em nível de objeto via** na CloudTrail lista suspensa.

   1. Escolha **Operação (ões) específica (s)** e, em seguida, escolha **PutObject**.

   1. Por padrão, a regra corresponde a eventos de dados para todos os buckets na região. Para corresponder eventos de dados a buckets específicos, escolha **Especificar bucket(s) pelo nome** e, depois, especifique um ou mais buckets.

1. Escolha **Próximo**.

1. Em **Tipos de destino**, escolha **Serviço da AWS **.

1. Em **Selecionar um destino**, escolha a **função do Lambda** na lista suspensa.

1. Em **Função**, selecione a função do Lambda `LogS3DataEvents` criada na etapa 1.

1. Escolha **Próximo**.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e selecione **Criar regra**.

## Etapa 4: Testar a regra
<a name="eb-log-s3-test-rule"></a>

Para testar a regra, coloque um objeto no seu bucket do S3. Você pode verificar se a sua função do Lambda foi chamada.

**Para visualizar os logs da sua função do Lambda**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, selecione **Logs**.

1. Selecione o nome do grupo de logs para sua função do Lambda (`/aws/lambda/{{function-name}}`).

1. Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você iniciou.

Você também pode verificar seus CloudTrail registros no bucket do S3 que você especificou para sua trilha. Para obter mais informações, consulte [Obter e visualizar seus arquivos de CloudTrail log](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html) no *Guia AWS CloudTrail do usuário*.

## Etapa 5: confirmar o êxito
<a name="success"></a>

Se você ver o evento Lambda nos CloudWatch registros, concluiu com êxito este tutorial. Se o evento não estiver em seus CloudWatch registros, comece a solucionar problemas verificando se a regra foi criada com sucesso e, se a regra parecer correta, verifique se o código da sua função Lambda está correto.

## Etapa 6: limpar os recursos
<a name="cleanup"></a>

Agora você pode excluir os recursos criados para este tutorial, a menos que queira mantê-los. Ao excluir AWS recursos que você não está mais usando, você evita cobranças desnecessárias em sua AWS conta.

**Para excluir a (s) EventBridge regra (s)**

1. Abra a [página Regras](https://console.aws.amazon.com/events/home#/rules) do EventBridge console.

1. Selecione as regras que foram criadas.

1. Escolha **Excluir**.

1. Escolha **Excluir**.

**Para excluir as funções do Lambda**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Selecione as funções que foram criadas.

1. Selecione **Ações**, **Excluir**.

1. Escolha **Excluir**.

**Para excluir a (s) CloudTrail trilha (s)**

1. Abra a [página Trilhas](https://console.aws.amazon.com/cloudtrail/home#/trails) do CloudTrail console.

1. Selecione as trilhas que foram criadas.

1. Escolha **Excluir**.

1. Escolha **Excluir**.