Comment résoudre les erreurs de flux de contacts dans Amazon Connect ?

Lecture de 6 minute(s)
0

Je souhaite étudier les flux de contacts afin d'identifier quel bloc du flux de contacts suit la branche d'erreur.

Brève description

Pour consulter un didacticiel sur la résolution des erreurs de flux de contacts, consultez l'atelier de résolution des erreurs de flux de contacts dans Amazon Connect.

Pour étudier et résoudre les problèmes liés aux flux de contacts, vous devez disposer des conditions préalables suivants :

Journaux de flux de contacts

Activez les journaux de flux. Utilisez les journaux de flux de contacts pour comprendre comment un appel passe par les différents blocs du flux de contacts. Utilisez également les journaux de flux de contacts pour résoudre les défaillances et identifier les sources d'erreurs.

Exportations de flux de contacts

Pour les instructions d'exportation de flux, consultez Comment importer/exporter des flux.

Utilisez les exportations pour mieux comprendre les flux de contacts :

  • Découvrez comment l'appel circule dans le flux.
  • Corrélez les journaux de flux de contacts.
  • Reproduisez le problème dans un environnement de test (sandbox).

Métriques Amazon CloudWatch pour Amazon Connect

Pour plus d'informations, consultez Surveillance de votre instance à l'aide de CloudWatch.

Utilisez les métriques ContactFlowErrors et ContactFlowFatalError pour surveiller et résoudre les événements liés aux flux de contacts :

  • La métrique ContactFlowFatalError indique le nombre de fois où un flux n'a pas pu s'exécuter en raison d'une erreur système. Par exemple, une panne d'Amazon Connect.
  • La métrique ContactFlowErrors indique le nombre de fois que la branche d'erreur s'exécute pour un flux de contacts.

Pour résoudre les erreurs de flux de contacts, interrogez votre CloudWatch Logs Insights afin d'identifier le bloc du flux de contacts qui suit la branche d'erreur. Utilisez ensuite le bloc pour identifier la cause première de l'erreur.

Résolution

Dans un premier temps, exécutez une requête pour voir les événements d'erreur associés :

1.    Ouvrez la console Amazon CloudWatch.

2.    Dans le volet de navigation, sélectionnez Informations du journal.

3.    Sélectionnez le nom du groupe de journaux pour les journaux de votre instance Amazon Connect. Le format est /aws/connect/yourinstancename.

4.    Dans le coin supérieur droit, spécifiez un délai de requête.

5.    Exécutez la requête suivante pour une période spécifique :

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

-ou-

Exécutez la requête suivante pour ID de contact spécifique :

Remarque : remplacez la valeur de ContactID par votre ID de contact.

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

Ensuite, pour résoudre l'erreur de flux de contacts, consultez les ressources suivantes :

  • Détails de configuration de CloudWatch Alarm pour identifier la métrique (ContactFlowErrors ou ContactFlowFatalError) qui a configuré l'alarme et les flux de contacts associés à l'alarme. Si la métrique est ContactFlowFatalError, il peut s'agir d'un problème de service car le flux n'a pas pu s'exécuter en raison d'une erreur système. Si la métrique configurant l'alarme est ContactFlowErrors, cela indique qu'un bloc de contact a été acheminé vers la branche d'erreur.
  • Journaux liés au flux de contacts concerné pour identifier le bloc à l'origine de l'erreur. Pour plus d'informations sur les blocs de flux, consultez la section Définitions des blocs de flux.

Parfois, les blocs de flux de contacts génèrent des erreurs dans CloudWatch, mais aucun journal CloudWatch ne leur est associé. Pour consulter le tableau des blocs de contact courants, consultez l'annexe de l'atelier Résolution des erreurs de flux de contacts dans Amazon Connect.

Erreurs AWS Lambda dans les flux de contacts

Les erreurs les plus courantes dans les flux de contacts se produisent avec le bloc Appeler la fonction Lambda. Ce bloc de flux de contacts appelle AWS Lambda et renvoie éventuellement des paires clé-valeur que vous pouvez utiliser pour définir les attributs des contacts.

Pour examiner les erreurs des fonctions Lambda, exécutez la requête suivante dans CloudWatch Logs Insights :

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

Le résultat est similaire à ce qui suit :

{
    "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"
}

Le type ContactFlowModule concerné de InvokeExternalResource fait référence à une fonction Lambda, à un nom de flux de contacts et à une erreur. Trouvez la fonction Lambda concernée. Ensuite, corrélez les horodatages, ou ID de contact, pour obtenir l'événement exact à l'origine de l'erreur dans les journaux d'exécution Lambda.

Exceptions d'accès refusé Voici un exemple d'erreur dans les journaux de flux de contacts provoquée par le bloc 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",
}

L'erreur « Accès refusé » indique que le flux de contacts n'a pas accès à la fonction Lambda. Pour obtenir des instructions détaillées sur l'ajout d'une fonction à l'instance, consultez Ajouter une fonction Lambda à votre instance Amazon Connect.

Aucun requestId n'associe les messages du journal Amazon Connect pour les flux de contacts aux journaux d'exécution Lambda. Si les fonctions Lambda impriment l'événement d'invocation, utilisez le ContactId pour corréler les journaux de flux de contacts et les journaux d'exécution des fonctions Lambda. Si la fonction n'imprime pas l'événement d'invocation, utilisez l'horodatage des journaux de flux de contacts pour filtrer les journaux d'exécution de la fonction Lambda.

Si le bloc Invoke Lambda Function renvoie une erreur mais qu'il n'existe aucune entrée correspondante dans les fonctions Lambda, vérifiez les configurations suivantes :

  • La charge utile Lambda est peut-être NULL.
  • La sortie renvoyée par la fonction doit être un objet plat de paires clé-valeur, avec des valeurs comprenant des caractères alphanumériques, des tirets et des traits de soulignement.
  • La réponse de la fonction Lambda n'est pas une simple carte de chaînes, ou la réponse est supérieure à 32 Ko. Il est recommandé de tester la sortie renvoyée par votre fonction Lambda afin de confirmer que les fonctions sont correctement consommées lorsqu'elles sont renvoyées à Amazon Connect.

Une erreur de flux de contacts peut se produire en raison de plusieurs blocs. Pour plus d'informations sur les blocs et les causes des erreurs, consultez l'annexe de l'atelier Résolution des erreurs de flux de contacts dans Amazon Connect.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an