Ich habe ein Amazon-Pinpoint-Sprachereignisziel eingerichtet, um Amazon-Pinpoint-Sprachnachrichten zu protokollieren, aber ich sehe keine Protokolle. Warum werden meine Amazon-Pinpoint-Sprachnachrichtenprotokolle nicht aufgefüllt, und wie behebe ich das Problem?
Lösung
Hinweis: Wenn Sie beim Ausführen von AWS-Command-Line-Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.
Stellen Sie sicher, dass Ihre Anfragen an den API-Vorgang SendVoiceMessage den Namen Ihrer Konfiguration enthalten
Überprüfen Sie den Wert für den ConfigurationSetName-Parameter in Ihren Anforderungen an den SendVoiceMessage-API-Vorgang. Die Anfrage muss den exakten Namen Ihres Konfigurationssatzes enthalten.
Beispiel für eine Python-Anforderung an die SendVoiceMessage-API-Operation, die den Parameter ConfigurationSetName enthält
response = client.send_voice_message(
DestinationPhoneNumber=destinationNumber,
OriginationPhoneNumber=originationNumber,
ConfigurationSetName="ConfigurationSetName", # Pass the ConfigurationSetName here
Content={
"SSMLMessage": {
"LanguageCode": languageCode,
"VoiceId": voiceId,
"Text": ssmlMessage,
}
},
)
Stellen Sie sicher, dass das Amazon-Pinpoint-Sprachereignisziel aktiviert ist
1. Führen Sie den folgenden get-configuration-set-event-destinations AWS-CLI-Befehl aus:
Wichtig: Ersetzen Sie <Pass_the_configuration_set_name> durch den Namen Ihres Konfigurationssatzes.
aws pinpoint-sms-voice get-configuration-set-event-destinations --configuration-set-name <Pass_the_configuration_set_name>
2. Überprüfen Sie in der Befehlsausgabe den Parameter „Enabled“. Das Ereignisziel ist nicht aktiviert, wenn der Wert dieses Parameters falsch ist.
Hinweis: Protokolle werden nicht in ein Ereignisziel geschrieben, wenn das Ziel nicht aktiviert ist.
3. Wenn das Ereignisziel nicht aktiviert ist, aktivieren Sie das Ereignisziel, indem Sie den folgenden Befehl update-configuration-set-event-destination ausführen:
Wichtig: Ersetzen Sie <Pass_the_configuration_set_name> durch den Namen Ihres Konfigurationssatzes. Ersetzen Sie <EventDestinationName> durch den Namen Ihres Ereignisziels. Ersetzen Sie <InputFileName> durch den Namen Ihrer Eingabeanforderungsdatei. Stellen Sie sicher, dass der Parameter**„Enabled“** Ihrer Eingabeanforderungsdatei als richtig konfiguriert ist.
aws pinpoint-sms-voice update-configuration-set-event-destination --configuration-set-name <Pass_the_configuration_set_name> --event-destination-name <EventDestinationName> --event-destination file://<InputFileName>.json
Beispiel einer Eingabeanforderungsdatei für ein Stream-Ereignisziel von Amazon Kinesis Data Firehose
{
"Enabled": true,
"MatchingEventTypes": ["INITIATED_CALL","RINGING","ANSWERED","COMPLETED_CALL","BUSY","FAILED","NO_ANSWER"],
"KinesisFirehoseDestination": {
"DeliveryStreamArn": "arn:aws:firehose:<region>:<AccountID>:deliverystream/<Name_of_Kinesis_Firehose>",
"IamRoleArn": "arn:aws:iam::<AccountID>:role/service-role/<IAM_role_name>"
}
}
Weitere Informationen zu Eingabeanforderungsdateien finden Sie unter Wie richte ich die Protokollierung für Amazon-Pinpoint-Sprachnachrichten ein?