Utilizzo delle EventBridge notifiche di Amazon - Amazon Chime SDK

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle EventBridge notifiche di Amazon

Amazon Chime SDK Call Analytics supporta l'invio di eventi al EventBridge bus predefinito quando lo stato della pipeline di Media Insights cambia o quando vengono soddisfatte le condizioni di avviso in tempo reale di analisi delle chiamate. Per gli aggiornamenti sullo stato degli errori della pipeline di Media Insights, ti consigliamo di configurare un EventBridge obiettivo per avvisarti se le tue risorse si guastano in modo asincrono. Le notifiche di analisi delle chiamate hanno una fonte aws.chime e vari tipi di dettagli, che sono condivisi nelle sezioni seguenti. Per ulteriori informazioni, consulta la Amazon EventBridge User Guide.

Aggiornamenti di stato

Le pipeline di Media Insights inviano EventBridge notifiche man mano che una sessione di analisi delle chiamate procede e termina correttamente o rileva errori. Riceverai una EventBridge notifica con il tipo di dettaglio «Media Insights State Change» quando:

  • Lo stato di una pipeline di Media Insights cambia.

  • Lo stato di un elemento della pipeline di Media Insights cambia.

  • Qualsiasi elemento della pipeline viene interrotto.

  • Qualsiasi elemento della pipeline non funziona.

La sezione dei dettagli include sempre i seguenti campi:

  • version

  • mediaInsightsPipelineArn

  • eventType

La sezione dei dettagli include anche un mediaInsightsPipelineElementStatuses campo se la pipeline di Media Insights contiene più elementi, come processori di analisi e data sink. Questo campo indica lo stato di ogni elemento nella pipeline. Lo stato possibile per ogni elemento della pipeline potrebbe essere:

  • NotStarted

  • InProgress

  • Stopped

  • Failed

La sezione dei dettagli include anche tutte le coppie chiave-valore specificate MediaInsightsRuntimeMetadata durante la CreateMediaInsightsPipelinechiamata API. Se una sessione di analisi delle chiamate è stata avviata da un Voice Connector, la sezione dei metadati viene compilata automaticamente con i seguenti parametri:

  • transactionId

  • fromNumber

  • toNumber

  • callId

  • voiceConnectorId

  • direction

I seguenti tipi di eventi possono apparire ogni volta che una pipeline di Media Insights contiene un singolo elemento. Espandi ogni sezione per saperne di più.

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsInProgress", "version": "0", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPaused", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsStopped", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Indica che il servizio ha riscontrato un errore temporaneo e tenterà di riprovare. Non è richiesta alcuna azione da parte tua.

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsTemporaryFailure", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Indica un errore che richiede un intervento da parte tua. Utilizzare il failureReason per risolvere il problema. I guasti tipici potrebbero includere quanto segue:

  • Autorizzazioni insufficienti per il ruolo di accesso alle risorse

  • Risorse mancanti o eliminate

  • Limitazione da parte di un AWS servizio che richiama le chiamate di analisi per tuo conto, come Amazon Transcribe o Amazon Kinesis.

  • Formati multimediali incompatibili negli stream KVS

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPermanentFailure", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string", "failureReason": "string" } }
Nota

Il campo failureReason è facoltativo. Ad esempio, un motivo tipico potrebbe essereAccess denied when assuming resource access role.

I seguenti tipi di eventi possono apparire ogni volta che viene creata una pipeline di Media Insights, o il tentativo di creazione fallisce, per una sessione di analisi delle chiamate avviata da un Amazon Chime SDK Voice Connector. Espandi ogni sezione per saperne di più.

Questo esempio mostra un tipico evento di successo.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineConfigurationArn": "string", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsCreated", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string", } }

Questo esempio mostra un tipico evento di errore.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "mediaInsightsPipelineConfigurationArn": "string", "eventType": "chime:MediaInsightsCreateFailed", "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string", "failureOrigin": "Voice Connector", "httpStatusCode": "string", "failureReason": "string" } }

I seguenti tipi di eventi possono apparire quando una pipeline di Media Insights contiene più elementi. Le notifiche di esempio sono da AmazonTranscribeProcessor S3RecordingSink abbinare a. Espandi ogni sezione per saperne di più.

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsInProgress", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "InProgress", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "NotStarted", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsInProgress", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Stopped", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "InProgress", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsInProgress", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Failed", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "InProgress", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPermanentFailure", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Failed", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "Stopped", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string", "failureReason": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPermanentFailure", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Stopped", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "Failed", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string", "failureReason": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPaused", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Paused", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "NotStarted", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsTemporaryFailure", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "TemporarilyFailed", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "NotStarted", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "region": "string", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsStopped", "mediaInsightsPipelineElementStatuses": [ { "type": "AmazonTranscribeProcessor", "status": "Stopped", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "Stopped", "updatedOn": 1686184070655 } ] "callId": "string", "transactionId": "string", "fromNumber": "string", "toNumber": "string", "voiceConnectorId": "string", "direction": "string" } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "time": "yyyy-mm-ddThh:mm:ssZ", "region": "string", "detail": { "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsInProgress", "version": "0", "mediaInsightsPipelineElementStatuses": [ { "type": "VoiceEnhancementSink", "status": "InProgress", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "Stopped", "updatedOn": 1686184070655 } ] } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "time": "yyyy-mm-ddThh:mm:ssZ", "region": "string", "detail": { "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsStopped", "version": "0", "mediaInsightsPipelineElementStatuses": [ { "type": "VoiceEnhancement", "status": "NotSupported", "updatedOn": 1686184070655, "statusDetail": "Unsupported recording length" }, { "type": "S3RecordingSink", "status": "Stopped", "updatedOn": 1686184070655 } ] } }

Questo esempio mostra una tipica struttura di eventi.

{ "version": "0", "id": "string", "detail-type": "Media Insights State Change", "source": "aws.chime", "account": number, "time": "yyyy-mm-ddThh:mm:ssZ", "region": "string", "detail": { "mediaInsightsPipelineArn": "string", "eventType": "chime:MediaInsightsPermanentFailure", "version": "0", "mediaInsightsPipelineElementStatuses": [ { "type": "VoiceEnhancement", "status": "Failed", "updatedOn": 1686184070655 }, { "type": "S3RecordingSink", "status": "Stopped", "updatedOn": 1686184070655 } ] } }

Avvisi in tempo reale

Nota

Solo i processori Amazon Transcribe e Amazon Transcribe Call Analytics supportano avvisi in tempo reale.

L'analisi delle chiamate di Amazon Chime SDK consente agli sviluppatori di configurare regole per l'invio di avvisi in tempo reale tramite un processore durante una sessione di analisi. Gli avvisi vengono inviati ad Amazon EventBridge con il tipo di Media Insights Rules Matched dettaglio. EventBridge supporta l'integrazione con servizi downstream come Lambda, Amazon SQS e Amazon SNS per attivare notifiche per l'utente finale o avviare altre logiche aziendali personalizzate.

Gli avvisi in tempo reale vengono configurati come parte del campo per. RealTimeAlertConfiguration MediaInsightsPipelineConfiguration Puoi utilizzare la console Amazon Chime SDK per configurare il campo oppure puoi chiamare le CreateMediaInsightsPipelineConfigurationAPI o. UpdateMediaInsightsPipelineConfiguration

Questo esempio mostra come creare o aggiornare una configurazione di avvisi in tempo reale tramite l'API.

{ "MediaInsightsPipelineConfigurationName": "config_name", "ResourceAccessRoleArn": "arn:aws:iam::account_id:role/role_name", "RealTimeAlertConfiguration": { "Disabled": false, "Rules": [{ "Type": "KeywordMatch", "KeywordMatchConfiguration": { "RuleName": "rule_name_1", "Keywords": [ "hello", "thank you" ], "Negate": false } }, { "Type": "Sentiment", "RuleName": "rule_name_2", "SentimentType": "NEGATIVE", "TimePeriod": 60 }, { "Type": "IssueDetection", "RuleName": "rule_name_3" } ] }, "Elements": [{ "Type": "AmazonTranscribeCallAnalyticsProcessor", "AmazonTranscribeCallAnalyticsProcessorConfiguration": { "LanguageCode": "en-US" } }, { "Type": "KinesisDataStreamSink", "KinesisDataStreamSinkConfiguration": { "InsightsTarget": "arn:aws:kinesis:us-east-1:account_id:stream/stream_name" } } ] }

Ogni regola in una configurazione di avviso in tempo reale viene attivata indipendentemente. È possibile ricevere più EventBridge notifiche se vengono soddisfatte più condizioni della regola contemporaneamente. Per creare un elenco di regole per i tuoi avvisi, puoi selezionare tra i seguenti tipi di regole:

Keyword Match

Avvisa quando una determinata serie di parole chiave o frasi trova corrispondenza in un evento di enunciazione o trascrizione. È possibile configurare l'avviso in modo che emetta un evento se:

  • Tutte le parole chiave specificate vengono pronunciate e Negate sono impostate su. false

  • Tutte le parole chiave specificate non vengono pronunciate per l'intera chiamata, se Negate è impostata su. true

Amazon Transcribe e Amazon Transcribe Analytics supportano questo tipo di regola.

Analisi delle emozioni

Avvisa quando un particolare tipo di sentimento persiste per un periodo di tempo variabile. Solo Transcribe Call Analytics supporta questa regola.

Rilevamento dei problemi

Avvisa quando viene rilevato un problema in un evento di enunciazione. Solo Transcribe Call Analytics supporta questo tipo di regola.

L'esempio seguente mostra un evento di avviso in tempo reale per una KeywordMatch regola.

{ "version": "0", "id": "string", "detail-type": "Media Insights Rules Matched", "source": "aws.chime", "account": number, "region": "us-east-1", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "sourceMetadata": {} "ruleName": "string" "utteranceId": "string", "beginTimestamp": "yyyy-mm-ddThh:mm:ssZ", } }

Alcuni EventBridge campi sono specifici del tipo di regola corrispondente:

Campi di corrispondenza tra parole chiave

utteranceId: ID della trascrizione che contiene una parola chiave corrispondente se utilizzi Amazon Transcribe Call Analytics. Solo per la corrispondenza di parole chiave vocali.

resultId: ID della trascrizione che contiene una parola chiave corrispondente se utilizzi Amazon Transcribe. Solo per la corrispondenza di parole chiave vocali.

beginTimestamp: ora di inizio della trascrizione che contiene una parola chiave corrispondente. Solo per la corrispondenza di parole chiave vocali.

Campi di analisi del sentiment

beginTimestamp: Ora di inizio della finestra scorrevole per il sentimento corrispondente.

endTimestamp: Ora di fine della finestra scorrevole per il sentimento corrispondente.