¿Cómo puedo solucionar los errores de la función de Lambda en un flujo de contacto de Amazon Connect?

4 minutos de lectura
0

Quiero saber por qué mi función de AWS Lambda no se invoca cuando mi flujo de contactos intenta invocar la función en Amazon Connect.

Resolución

Verifique que la política basada en recursos de la función de Lambda otorga permiso a Amazon Connect para invocar la función

1.    Si aún no lo ha hecho, active el registro de flujo de contacto para la instancia de Amazon Connect.

2.    Busque en los registros de flujo de contacto cualquier mensaje de error AccessDeniedException. Este error aparece cuando la política basada en recursos de AWS Identity and Access Management (AWS IAM) de la función no otorga permiso a Amazon Connect para invocar la función.

Nota: También puede revisar manualmente la política basada en recursos de la función para ver si incluye los permisos necesarios. Para obtener más información, consulte Uso de políticas basadas en recursos para AWS Lambda.

Para agregar los permisos necesarios

Ejecute el comando add-permission de la AWS CLI. Incluya la entidad principal connect.amazonaws.com y el nombre de recurso de Amazon (ARN) de la instancia de Amazon Connect.

Nota: Si recibe errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI) asegúrese de que utiliza la versión más reciente de la AWS CLI.

Para obtener más información, consulte Crear una función de Lambda en la guía del administrador de Amazon Connect. También consulte Otorgar acceso a funciones a los servicios de AWS en la guía para desarrolladores de Lambda.

Ejemplo de política basada en recursos para una función de Lambda que otorga permiso a Amazon Connect con el objetivo de invocar la función

Importante: sustituya por el ARN de la función. Sustitutya por el ARN de su instancia de Amazon Connect.

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "100",
      "Effect": "Allow",
      "Principal": {
        "Service": "connect.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "<Qualified AWS Lambda ARN>",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "<Amazon Connect ARN>"
        }
      }
    }
  ]
}

Verifique la respuesta de la función de Lambda

Siga las instrucciones en Verificar la respuesta de la función de la guía para administradores de Amazon Connect. Al probar el resultado devuelto por la función de Lambda, verifique lo siguiente:

  • La salida es un objeto sin formato de pares clave-valor.
  • Los pares clave-valor solo incluyen caracteres alfanuméricos, guiones y guiones bajos.
  • El objeto no está anidado ni es complejo.
  • El tamaño de los datos devueltos es inferior a 32 KB de datos UTF-8.

Verifique que la configuración Timeout (Tiempo de espera) de la función de Lambda esté lo suficientemente alta como para permitir que la función pueda invocar.

Si la función no invoca dentro de la configuración Timeout (Tiempo de espera) establecida, el contacto se enruta hacia la división Error de Invoke AWS Lambda function (Invocar la función de AWS Lambda). La configuración predeterminada de Timeout (Tiempo de espera) es de tres segundos. La configuración máxima de Timeout (Tiempo de espera) es de ocho segundos.

Para ver cuánto tarda en invocarse la función, revise las métricas de Duration (Duración) de la función en Amazon CloudWatch.

Para revisar y editar la configuración de Timeout (Tiempo de espera) de la función Lambda, consulte Bloque de contactos: invocar la función de AWS Lambda.

Nota: Para incluir funciones de Lambda en el flujo de contacto que tarden más de ocho segundos en invocarse, utilice funciones de Lambda asíncronas con Amazon Connect.

Si va a invocar varias funciones de Lambda, asegúrese de que la duración de la secuencia de funciones sea inferior a 20 segundos

Amazon Connect limita la duración de una secuencia de funciones de Lambda a 20 segundos.

Para obtener más información, consulte la sección Lambda de las Prácticas recomendadas para Amazon Connect en la guía para administradores de Amazon Connect.

Identificar y resolver cualquier otro error que provoque un error en la función

Siga las instrucciones de ¿Cómo soluciono los problemas de los errores de las funciones de Lambda?


Información relacionada

Invocar un alias de función de AWS Lambda de Amazon Connect

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año