Tutorial: registrar operações no nível do objeto do Amazon S3 usando o EventBridge - Amazon EventBridge

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: registrar operações no nível do objeto do Amazon S3 usando o EventBridge

É possível registrar as operações de API no nível do objeto em seus buckets do Amazon S3. Para que o Amazon EventBridge possa fazer a correspondência com esses eventos, é preciso usar o AWS CloudTrail para configurar uma trilha para receber esses eventos.

Neste tutorial, é criada uma uma trilha do CloudTrail, uma função do AWS Lambda e uma regra no console do EventBridge que invoca essa função em resposta a um evento de dados do S3.

Etapa 1: Configurar a trilha do AWS CloudTrail

Para registrar os eventos de dados de um bucket do S3 no AWS CloudTrail e no EventBridge, primeiro crie 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, no Guia do usuário do AWS CloudTrail.

Para criar uma trilha
  1. Abra o console do CloudTrail em https://console.aws.amazon.com/cloudfront/.

  2. Selecione Trails (Trilhas), Create trail (Criar trilha).

  3. Em Nome da trilha, digite um nome para a trilha.

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

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

  6. Escolha Next (Próximo).

  7. Em Tipo de evento, escolha Eventos de dados.

  8. 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.

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

  10. Escolha Next (Próximo).

  11. Escolha Create Trail (Criar trilha).

Etapa 2: criar uma função do AWS Lambda

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

Como criar uma função do Lambda
  1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Escolha Create function (Criar função).

  3. Escolha Author from scratch (Criar do zero).

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

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

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

  7. 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'); };
  8. Escolha Implantar.

Etapa 3: Criar uma regra

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 console do Amazon EventBridge em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Rules (Regras).

  3. Escolha Create rule (Criar regra).

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

  5. Em Event bus (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 default. 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.

  6. Em Rule type (Tipo de regra), escolha Rule with an event pattern (Regra com um padrão de evento).

  7. Escolha Next (Próximo).

  8. Em Event source (Origem do evento), escolha AWS services (Serviços da ).

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

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

    2. Em Tipo de evento, selecione Chamada de API no nível de objeto via CloudTrail na lista suspensa.

    3. Escolha Specific operation(s) (Operações específicas) e, em seguida, escolha PutObject.

    4. 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.

  10. Escolha Next (Próximo).

  11. Em Target types (Tipos de destinos), escolha AWS service (Serviço da ).

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

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

  14. Escolha Next (Próximo).

  15. Escolha Next (Próximo).

  16. Analise os detalhes da regra e escolha Create rule (Criar regra).

Etapa 4: Testar a regra

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 console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Logs.

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

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

Também é possível conferir o conteúdo dos logs do CloudTrail no bucket do S3 especificado para a trilha. Para obter mais informações, consulte Obtenção e exibição dos seus arquivos de log do CloudTrail no Guia do usuário do AWS CloudTrail.

Etapa 5: confirmar o êxito

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

Etapa 6: Limpar os recursos

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

Para excluir as regras do EventBridge
  1. Abra a página Regras no console do EventBridge.

  2. Selecione as regras que foram criadas.

  3. Escolha Delete (Excluir).

  4. Escolha Delete (Excluir).

Para excluir as funções do Lambda
  1. Abra a página Funções do console do Lambda.

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

  3. Escolha Actions, Delete.

  4. Escolha Delete (Excluir).

Para excluir as trilhas do CloudTrail
  1. Abra a página Trails (Trilhas) do console do CloudTrail.

  2. Selecione as trilhas que foram criadas.

  3. Escolha Delete (Excluir).

  4. Escolha Delete (Excluir).