¿Por qué se deshabilitó mi activador Amazon SQS de Lambda?

3 minutos de lectura
0

He configurado mi función de Lambda de AWS para procesar los mensajes de una cola de Amazon Simple Queue Service (Amazon SQS), pero el activador de SQS no está activo.

Descripción breve

Puede utilizar una función de Lambda para procesar los mensajes de una cola de Amazon SQS. Laasignación de orígenes de eventos lee desde un origen de eventos e invoca una función de Lambda. La asignación de orígenes de eventos es Creating (Crear), Enabling (Habilitar), Enabled (Habilitado), Disabling (Deshabilitar), Disabled (Deshabilitado), Updating (Actualizar), o Deleting (Eliminar).

Los encuestadores de Lambda realizan constantemente la llamada de acción de la API ReceiveMessage a la cola de Amazon SQS. Si la llamada a la API ReceiveMessage no se completa, el recurso EventSourceMapping está deshabilitado.

Resolución

Permisos de función de Lambda

Asegúrese de que su rol de ejecución de la función de Lambda tenga acceso a los siguientes permisos:

Permisos de AWS Key Management Service (AWS KMS)

Si la cola de Amazon SQS está configurada con el cifrado SSE-KMS asegúrese de que:

  • La clave de AWS KMS existe.
  • La función de ejecución de la función de Lambda tiene permisos para Encrypt (Encriptar), Decrypt (Desencriptar) y GenerateDataKey (Generar clave de datos).
  • Los permisos de la política de claves de AWS KMS están configurados para permitir que los eventos se envíen a las colas de Amazon SQS.

Nota: Las colas de Amazon SQS con cifrado SSE-KMS no pueden invocar una función de Lambda en otra cuenta de AWS (entre cuentas).

Historial de eventos de CloudTrail

Puede utilizar AWS CloudTrail para buscar eventos. CloudTrail está activado de forma predeterminada en su cuenta de AWS.

Para obtener un registro continuo de los eventos en su cuenta de AWS, cree un registro. Mediante una ruta, CloudTrail crea registros de las llamadas a la API realizadas en su cuenta. Estos registros se envían a un bucket de Amazon Simple Storage Service (Amazon S3) que usted especifique. Si no configura una ruta, puede seguir viendo los eventos más recientes en la consola de CloudTrail, en el Historial de eventos.

1.    Abra la consola de CloudTrail.

2.    En el panel de navegación, seleccione Historial de eventos.

3.    Siga las instrucciones para ver, mostrar y filtrar los eventos de CloudTrail para su caso práctico.

También puede descargar el historial de eventos grabado como un archivo en formato CSV o JSON.

Compruebe el nombre del evento de CloudTrail LambdaESMDisabled. El registro de eventos contiene el parámetro ESMDisableReason con más información sobre la causa por la que los activadores de Amazon SQS no están activos.

Para obtener más información, consulte Registrar llamadas a la API de Lambda con CloudTrail.

Alarmas de Amazon CloudWatch (opcional)

Puede crear una alarma de CloudWatch para las métricas de Amazon SQS a fin de recibir notificaciones sobre la cantidad de mensajes recibidos, enviados, eliminados, etc. Por ejemplo, puede utilizar la métrica NumberOfMessagesReceived de Amazon SQS para obtener el número de mensajes recientes devueltos. Si el recuento es 0, invoque una nueva función de Lambda para comprobar el estado del disparador de Amazon SQS. Si el activador de Amazon SQS sigue deshabilitado, utilice la nueva función de Lambda para activarlo.

Para obtener más información, consulte las métricas de CloudWatch disponibles para Amazon SQS.

Información relacionada

¿Qué permisos necesito para acceder a una cola de Amazon SQS?

¿Cómo soluciono los errores de la función de Lambda?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año