¿Cómo soluciono los errores de flujo de contactos en Amazon Connect?

7 minutos de lectura
0

Quiero investigar los flujos de contactos para identificar qué bloque del flujo de contactos sigue a la rama de error.

Descripción breve

Para ver un tutorial sobre la solución de errores de flujo de contactos, consulte el taller Troubleshooting contact flow errors in Amazon Connect (Solución de problemas de flujo de contactos en Amazon Connect).

Para investigar y solucionar problemas de flujo de contactos, debe cumplir los siguientes requisitos previos:

Registros de flujo de contactos

Active los registros de flujo. Utilice los registros del flujo de contactos para comprender cómo viaja una llamada a través de los diferentes bloques del flujo de contactos. Además, utilice los registros de flujo de contactos para solucionar errores y aislar el punto dónde se producen los errores.

Exportaciones de flujo de contactos

Para obtener instrucciones de exportación de flujos, consulte How to import/export flows (Importar y exportar flujos).

Utilice las exportaciones para comprender mejor los flujos de contactos:

  • Vea cómo viaja la llamada a través del flujo.
  • Correlacione los registros del flujo de contactos.
  • Reproduzca el error en un entorno aislado.

Métricas de Amazon CloudWatch para Amazon Connect

Para obtener más información, consulte Monitoring your instance using CloudWatch (Supervisión de su instancia con CloudWatch).

Utilice las métricas ContactFlowErrors (Errores del fujo de contactos) y ContactFlowFatalError (Error fatal del flujo de contactos) para supervisar y solucionar los eventos relacionados con los flujos de contactos:

  • La métrica ContactFlowFatalError (Error fatal del flujo de contactos) indica el número de veces que un flujo no se pudo ejecutar debido a un error del sistema. Por ejemplo, una interrupción de Amazon Connect.
  • La métrica ContactFlowErrors (Errores del flujo de contactos) indica el número de veces que se ejecuta la rama de error para un flujo de contactos.

Para solucionar errores en el flujo de contactos, consulte Información de registros de CloudWatch para identificar qué bloque del flujo de contactos sigue a la rama del error. A continuación, utilice el bloque para identificar la causa raíz del error.

Resolución

Primero, ejecute una consulta para ver los eventos de error relacionados:

1.    Abra la consola de Amazon CloudWatch.

2.    En el panel de navegación, elija Log Insights (Información de registros).

3.    Seleccione el nombre del grupo de registros para sus registros de instancias de Amazon Connect. El formato es /aws/connect/nombredesuinstancia.

4.    En la esquina superior derecha, especifique una escala temporal de consulta.

5.    Ejecute la siguiente consulta para un intervalo de tiempo específico:

fields @timestamp, @message
| filter @message like 'Results'
| parse @message '"Results":"*","ContactId":"*","ContactFlowId":"*","ContactFlowName":"*","ContactFlowModuleType":"*"' as Results, ContactId, ContactFlowId, ContactFlowName, BlockType
| filter Results like 'rror' or Results like 'ailed' or Results like 'imeout' or Results like 'xception' or Results like 'No prompt provided' or Results like 'Instance has reached concurrent Lambda thread access limit' or Results like 'nsupported' or Results like 'nvalid' or Results like 'not found' or Results like 'execution limit reached'
| sort @timestamp asc
| display Timestamp, Results, ContactId, ContactFlowId, ContactFlowName, BlockType

o

Ejecute la siguiente consulta para un ID de contacto específico:

Nota: Sustituya el valor de ContactID por su ID de contacto.

fields @timestamp, @message
| sort @timestamp desc
| filter ContactID = "162faf0b-4e68-4a4b-bbde-96c9631f2a95"

A continuación, para solucionar el error del flujo de contactos, consulte los siguientes recursos:

  • Detalles de configuración de CloudWatch Alarm para identificar qué métrica (ContactFlowErrors [Errores del flujo de contactos] o ContactFlowFatalError [Error fatal del flujo de contactos]) configuró la alarma y los flujos de contacto asociados a la alarma. Si la métrica es ContactFlowFatalError (Error fatal del flujo de contactos), podría tratarse de un problema de servicio, ya que el flujo no se pudo ejecutar debido a un error del sistema. Si la métrica que configura la alarma es ContactFlowErrors (Errores del flujo de contactos), esto indica que se ha redirigido un bloque de contactos a la rama del error.
  • Registros relacionados con el flujo de contactos afectado para identificar qué bloque produjo el error. Para obtener más información sobre los bloques de flujo, consulte Flow block definitions (Definiciones de bloques de flujo).

A veces, los bloques de flujo de contactos producen errores en CloudWatch, pero no tienen los registros de CloudWatch correspondientes. Para ver una tabla de los bloqueos de contactos comunes, consulte el apéndice del taller Troubleshooting contact flow errors in Amazon Connect (Solución de problemas de flujo de contactos en Amazon Connect).

Errores de AWS Lambda en flujos de contactos

Los errores más comunes en los flujos de contactos se producen con el bloque Invoke Lambda Function (Invocar función de Lambda). Este bloque de flujo de contactos llama a AWS Lambda y, opcionalmente, devuelve pares clave-valor que puede usar para establecer los atributos de contacto.

Para investigar los errores de la función de Lambda, ejecute la siguiente consulta en Información de registros de CloudWatch:

fields @timestamp, @message
| sort @timestamp desc
| filter Results LIKE "Error"

El resultado es similar al siguiente:

{
    "Results": "The Lambda Function Returned an Error.",
    "ContactId": "alebb22a-93c4-4f90-8f22-b3718c4578E0",
    "ContactFlowId": "contact-flow-id",
    "ContactFlowName": "chat",
    "ContactFlowModuleType": "InvokeExternalResource",
    "Timestamp": "2023-12-20T14:14:13.794Z",
    "Parameters": {
        "FunctionARN": "arn:aws:lambda:us-west-2:1099999:function:Connect-Wallboard-Historical-Metrics",
    },
 "TimeLimit": "3000"
}

El tipo de ContactFlowModule (Módulo del flujo de contactos) afectado de InvokeExternalResource (Invocar recurso externo) hace referencia a una función de Lambda, al nombre del flujo de contactos y a un error. Busque la función de Lambda afectada. A continuación, correlacione las marcas de tiempo, o ID de contacto, para obtener el evento exacto que provocó el error en los registros de ejecución de Lambda.

Excepciones de acceso denegado A continuación se muestra un ejemplo de un error en los registros de flujo de contactos provocado por el bloque InvokeExternalResource (Invocar recurso externo):

{
    "Results": "Status Code: 403; Error Code: AccessDeniedException; RequestID: 435c21cc-19d8-4847-864e-e32867fe3a70
    "ContactId": "alebb22a-93c4-4f90-8f22-b3718c4578E0",
    "ContactFlowId": " arn:aws:lambda:us-west-2:1099999/contact-flow/65569e69-5c67-4061-8776-fd1d501c4838",
}

El error “Access Denied” (Acceso denegado) indica que el flujo de contactos no tiene acceso para invocar la función de Lambda. Para ver pasos detallados sobre cómo agregar una función a la instancia, consulte Add a Lambda function to your Amazon Connect instance (Agregar una función de Lambda a su instancia de Amazon Connect).

No hay ningún requestId (ID de solicitud) que vincule los mensajes de registro de Amazon Connect para los flujos de contactos con los registros de ejecución de Lambda. Si las funciones de Lambda imprimen el evento de invocación, utilice el contactId (ID de contacto) para correlacionar los registros de flujo de contactos y los registros de ejecución de la función de Lambda. Si la función no imprime el evento de invocación, utilice la marca de tiempo de los registros de flujo de contactos para filtrar los registros de ejecución de la función de Lambda.

Si el bloque Invoke Lambda Function (Invocar función de Lambda) devuelve un error pero no hay una entrada correspondiente en las funciones de Lambda, compruebe las siguientes configuraciones:

  • La carga útil de Lambda puede ser NULL (Nula).
  • El resultado devuelto por la función debe ser un objeto plano de pares de claves y valores, con valores que incluyan caracteres alfanuméricos, guiones largos y guiones.
  • La respuesta de la función de Lambda no es un mapa de cadenas simple o la respuesta es superior a 32 k. Se recomienda probar el resultado devuelto por la función de Lambda para confirmar que las funciones se consumen correctamente cuando se devuelven a Amazon Connect.

Se puede producir un error de flujo de contactos debido a varios bloques. Para obtener más información sobre los bloqueos y las razones de los errores, consulte el apéndice del taller Troubleshooting contact flow errors in Amazon Connect (Solución de problemas de flujo de contactos en Amazon Connect).


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año