¿Cómo puedo solucionar los problemas relacionados con la invocación de una función de Lambda mediante una notificación de eventos de Amazon S3 por medio de Systems Manager Automation?

Última actualización: 14/02/2022

Mi notificación de eventos de Amazon Simple Storage Service (Amazon S3) no consigue invocar mi función de AWS Lambda, o bien recibo un mensaje de error cuando intento crear una notificación de eventos de Amazon S3 a fin de invocar mi función de Lambda. ¿Puedo usar AWS Systems Manager Automation para solucionar los problemas relacionados con la notificación de eventos de Amazon S3 con Lambda?

Descripción corta

Para solucionar los problemas relacionados con el envío de notificaciones de eventos de Amazon S3 a Lambda, utilice el runbook de Systems Manager Automation AWS Support-TroubleshootLambdas3Event .

Dicho runbook se encarga de verificar si existe una configuración de eventos para la función de Lambda, así como los valores de los parámetros del bucket de Amazon S3 que indique. Si existe una configuración para los eventos, el runbook se encarga de verificar que la configuración, las directivas de recursos y los permisos sean correctos. El resultado del runbook proporciona los comandos de AWS Command Line Interface (AWS CLI) que le permiten añadir las políticas de recursos o los permisos requeridos.

Nota: Si ya no necesita usar la notificación de eventos de Amazon S3, se recomienda eliminarla.

Resolución

1.    Abra la consola de AWS Systems Manager.

2.    En el panel de navegación, en Change Management (Administración de cambios), elija Automation(Automatización).

3.    Elija Execute automation (Ejecutar automatización).

4.    En la pestaña Owned by Amazon (Propiedad de Amazon), en el cuadro de búsqueda Automation document (Documento de automatización), indique y busque AWSSupport-TroubleshootLambdaS3Event.

5.    Marque la casilla de verificación en la parte superior derecha de la tarjeta AWSSupport-TroubleshootLambdas3Event. A continuación, seleccione Next (Siguiente).

6.    En la secciónInput Parameters (Parámetros de entrada), haga lo siguiente:
Para AutomationAssumeRole, indique una función de AWS Identity and Access Management (IAM) para que el runbook asuma que incluye los permisos lambda:getPolicy y s3:getBucketNotification.
Para LambdaFunctionARN, indique elnombre de recurso de Amazon (ARN) de la función de Lambda.
Para S3BucketName, indique el nombre del bucket de Amazon S3.

7.    Seleccione Execute (Ejecutar).

Nota: Si el resultado le sugiere validar y configurar la concurrencia de la función de Lambda, consulte Invocación asíncrona y Escalado de funciones de AWS Lambda.