Skip to content

Come posso risolvere gli errori del flusso di contatti in Amazon Connect?

6 minuti di lettura
0

Desidero esaminare i flussi di contatti per identificare quale blocco all'interno del flusso di contatti segue il ramo di errore.

Breve descrizione

Per un tutorial sulla risoluzione degli errori del flusso di contatti, consulta il workshop Risoluzione degli errori del flusso di contatti in Amazon Connect.

Per esaminare e risolvere i problemi relativi ai flussi di contatti, è necessario disporre dei seguenti prerequisiti:

Log del flusso di contatti

Attiva i log del flusso. Utilizza i log del flusso di contatti per capire come una chiamata attraversa i diversi blocchi del flusso di contatti. Inoltre, utilizza i log del flusso di contatti per risolvere i problemi e isolare i punti in cui si verificano errori.

Esportazioni del flusso di contatti

Per le istruzioni relative all'esportazione dei flussi, consulta Come importare/esportare i flussi.

Utilizza le esportazioni per comprendere meglio i flussi di contatti:

  • Osserva come la chiamata attraversa il flusso.
  • Correla i log del flusso di contatti.
  • Riproduci il problema in un ambiente sandbox.

Parametri di Amazon CloudWatch per Amazon Connect

Per ulteriori informazioni, consulta Monitoraggio dell'istanza tramite CloudWatch.

Utilizza i parametri ContactFlowErrors e ContactFlowFatalError per monitorare e risolvere gli eventi correlati ai flussi di contatti:

  • Il parametro ContactFlowFatalError indica il numero di volte in cui un flusso non è stato eseguito a causa di un errore di sistema. Ad esempio, un'interruzione di Amazon Connect.
  • Il parametro ContactFlowErrors indica il numero di volte in cui il ramo di errore viene eseguito per un flusso di contatti.

Per risolvere gli errori del flusso di contatti, identifica tramite CloudWatch Logs Insights quale blocco del flusso di contatti segue il ramo dell'errore. Quindi, utilizza il blocco per identificare la causa principale dell'errore.

Risoluzione

Innanzitutto, esegui una query per visualizzare gli eventi di errore correlati:

1.    Apri la console Amazon CloudWatch.

2.    Nel pannello di navigazione, scegli Log Insights.

3.    Seleziona il nome del gruppo di log per il log delle istanze di Amazon Connect. Il formato è /aws/connect/yourinstancename.

4.    Nell’angolo in alto a destra, specifica una scala cronologica relativa alla query.

5.    Esegui la seguente query per un intervallo di tempo specifico:

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

-oppure-

Esegui la seguente query per un ID di contatto specifico:

**Nota:**sostituisci il valore del ContactId con il tuo ID di contatto.

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

Quindi, per risolvere l'errore del flusso di contatti, consulta le seguenti risorse:

  • Dettagli di configurazione di CloudWatch Alarm per identificare quale parametro (ContactFlowErrors o ContactFlowFatalError) ha configurato l'allarme e i flussi di contatti ad esso associati. Se il parametro è ContactFlowFatalError, potrebbe trattarsi di un problema di servizio poiché il flusso non è stato eseguito a causa di un errore di sistema. Se il parametro che configura l'allarme è ContactFlowErrors, ciò indica che un blocco di contatti è stato indirizzato lungo il ramo di errore.
  • Log correlati al flusso di contatti interessato per identificare quale blocco ha prodotto l'errore. Per ulteriori informazioni sui blocchi di flusso, consulta la sezione Definizioni dei blocchi di flusso.

A volte, i blocchi del flusso di contatti generano errori in CloudWatch ma non dispongono dei log di CloudWatch corrispondenti. Per una tabella dei blocchi di contatti comuni, consulta l'Appendice nel workshop Risoluzione dei problemi del flusso di contatti in Amazon Connect.

Errori di AWS Lambda nei flussi di contatti

Gli errori più comuni nei flussi di contatti si verificano con il blocco Invoca funzione Lambda. Questo blocco del flusso di contatti attiva AWS Lambda e, facoltativamente, restituisce coppie chiave-valore utilizzabili per impostare gli attributi dei contatti.

Per esaminare gli errori della funzione Lambda, esegui la seguente query in CloudWatch Logs Insights:

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

L'output è simile al seguente:

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

Il tipo ContactFlowModule di InvokeExternalResource interessato si riferisce a una funzione Lambda, al nome del flusso di contatti e a un errore. Trova la funzione Lambda interessata. Quindi, correla i timestamp, o l’ID di contatto, per ottenere l'evento esatto che ha causato l'errore nei log di esecuzione di Lambda.

Eccezioni riguardanti l’accesso negato

Di seguito è riportato un esempio di errore nei log del flusso di contatti causato dal blocco 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'errore «Accesso negato» indica che il flusso di contatti non ha accesso per invocare la funzione Lambda. Per i passaggi dettagliati sull'aggiunta di una funzione all'istanza, consulta la sezione Aggiungere una funzione Lambda alla tua istanza Amazon Connect.

Non esiste un RequestId che leghi i messaggi di log di Amazon Connect per i flussi di contatti ai log di esecuzione Lambda. Se le funzioni Lambda stampano l'evento di invocazione, utilizza ilContactId per correlare i log del flusso di contatti e i log di esecuzione della funzione Lambda. Se la funzione non stampa l'evento di invocazione, utilizza il timestamp nei log del flusso di contatti per filtrare i log di esecuzione della funzione Lambda.

Se il blocco Invoca funzione Lambda restituisce un errore ma non compare nessuna voce corrispondente nelle funzioni Lambda, verifica le seguenti configurazioni:

  • Il payload Lambda potrebbe essere NULL.
  • L'output restituito dalla funzione deve essere un oggetto piatto di coppie di chiavi e valori, con valori che includono caratteri alfanumerici, trattini e caratteri di sottolineatura.
  • La risposta della funzione Lambda non è una semplice mappa di stringhe o la risposta è maggiore di 32k. È consigliabile testare l'output restituito dalla funzione Lambda per confermare che le funzioni vengano utilizzate correttamente quando vengono restituite ad Amazon Connect.

Potrebbe verificarsi un errore nel flusso di contatti a causa di più blocchi. Per ulteriori informazioni sui blocchi e sui motivi degli errori, consulta l'Appendice nel workshop Risoluzione degli errori del flusso di contatti in Amazon Connect.