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

6 minutos de lectura
0

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

Breve descripción

Para ver un tutorial sobre cómo solucionar errores de flujo de contactos, consulte el taller Troubleshooting contact flow errors in Amazon Connect.

Para investigar y solucionar problemas en los flujos de contactos, debe cumplir con los siguientes requisitos previos:

Registros de flujos de contactos

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

Exportaciones de flujos de contactos

Para obtener instrucciones para exportar flujos, consulte How to import/export flows.

Utilice las exportaciones para comprender mejor los flujos de contacto:

  • Vea cómo se desplaza la llamada a lo largo del flujo.
  • Correlacione los registros de flujos de contactos.
  • Reproduzca el problema en un entorno de pruebas.

Métricas de Amazon CloudWatch para Amazon Connect

Para obtener más información, consulte Monitoring your instance using CloudWatch.

Utilice las métricas **ContactFlowErrors ** y ContactFlowFatalError para supervisar y solucionar los eventos relacionados con los flujos de contactos:

  • La métrica ContactFlowFatalError 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 indica el número de veces que se ejecuta la rama de error para un flujo de contactos.

Para solucionar errores de flujos de contactos, consulte Información de registros de Amazon CloudWatch para identificar qué bloque de flujo de contactos sigue la rama de 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.

3.    Seleccione el nombre del grupo de registro 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

Alternativa:

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

Nota: Sustituya el valor de ID de contacto por el 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, revise los siguientes recursos:

  • Detalles de configuración de las alarmas de CloudWatch para identificar qué métrica (**ContactFlowErrors ** o ContactFlowFatalError) configuró la alarma y los flujos de contactos asociados a la alarma. Si la métrica es ContactFlowFatalError, es posible que se trate de un problema de servicio, ya que el flujo no se pudo ejecutar debido a un error del sistema. Si la métrica que configuró la alarma es ContactFlowErrors, esto indica que un bloque de contactos se dirigió hacia la rama de 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.

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 bloques de contactos comunes, consulte el Apéndice del taller Troubleshooting contact flow errors in Amazon Connect.

Errores de AWS Lambda en los flujos de contactos

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

Para investigar los errores de las funciones de Lambda, ejecute la siguiente consulta en Información de registros de Amazon 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 ContactFlowModule afectado de InvokeExternalResource hace referencia a una función de Lambda, un nombre de flujo de contactos y 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:

{
    "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 «Acceso denegado» indica que el flujo de contactos no tiene acceso para invocar la función de Lambda. Para ver los pasos detallados sobre cómo agregar una función a la instancia, consulte Add a Lambda function to your Amazon Connect instance.

No hay ningún RequestID 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 ContactId para correlacionar los registros de flujo de contactos y los registros de ejecución de funciones de Lambda. Si la función no imprime el evento de invocación, use 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 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 de Lambda puede ser NULL.
  • El resultado devuelto por la función debe ser un objeto plano de pares de clave y valor, con valores que incluyan caracteres alfanuméricos, guiones y guiones bajos.
  • La respuesta de la función de Lambda no es un simple mapa de cadenas o la respuesta es superior a 32 000. 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.

Es posible que se produzca un error de flujo de contactos debido a la existencia de varios bloques. Para obtener más información sobre los bloques y el motivo de los errores, consulte el Apéndice del taller Troubleshooting contact flow errors in Amazon Connect.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años