Como soluciono problemas com a invocação de uma função do Lambda com uma notificação de evento do Amazon S3 usando o Systems Manager Automation?

Data da última atualização: 14-02-2022

Minha notificação de evento do Amazon Simple Storage Service (Amazon S3) não invoca minha função do AWS Lambda. Ou recebo um erro quando tento criar uma notificação de evento do Amazon S3 para invocar minha função do Lambda. Posso usar o AWS Systems Manager Automation para solucionar problemas de notificação de eventos do Amazon S3 com o Lambda?

Breve descrição

Para solucionar problemas ao enviar notificações de eventos do Amazon S3 para o Lambda, use o runbook do Systems Manager Automation AWSSupport-TroubleshootLambdas3Event.

O runbook verifica se existe uma configuração de evento para a função do Lambda e os valores de parâmetro do bucket do Amazon S3 inseridos. Se houver uma configuração de evento, o runbook verificará se a configuração, as políticas de recursos e as permissões estão corretas. A saída do runbook fornece comandos da AWS Command Line Interface (AWS CLI) que permitem adicionar as políticas ou as permissões de recursos necessárias.

Observação: se a notificação de evento do Amazon S3 não for mais necessária, é uma prática recomendada excluir a notificação de evento.

Resolução

1.    Abra o console do AWS Systems Manager.

2.    No painel de navegação, em Gerenciamento de alterações, escolha Automação.

3.    Escolha Execute automation (Executar automação).

4.    Na guia Propriedade da Amazon, na caixa de pesquisa Documentos de automação, insira AWSSupport-TroubleshootCodeDeploy.

5.    Marque a caixa de seleção no canto superior direito do cartão AWSSupport-TroubleshootLambdas3Event. Escolha Próximo.

6.    Na seção Parâmetros de entrada, faça o seguinte:
Para AutomationAssumeRole, insira uma função do AWS Identity and Access Management (IAM) para que o runbook assuma que inclui as permissões Lambda:getPolicy e s3:GetBucketNotification.
Para LambdaFunctionArn, insira o Nome do recurso da Amazon (ARN) da função Lambda.
Para S3BucketName, insira o nome do bucket do Amazon S3.

7.    Escolha Executar.

Observação: se a saída sugerir a validação e a configuração da simultaneidade da função do Lambda, consulte Invocação assíncrona e escalabilidade da função do AWS Lambda.