如何為 Amazon Pinpoint SMS 和語音訊息版本 2 的 API 設定 Amazon Pinpoint 語音訊息的日誌記錄?
我想監控透過 Amazon Pinpoint 傳送的語音訊息之狀態。該如何設定?
解決方案
要記錄 Amazon Pinpoint 語音訊息的狀態,您必須設定組態集和事件目的地。事件目的地設定完成後,必須將其對應至您的組態集。這顆讓您收到有關您透過 Amazon Pinpoint 傳送之語音訊息的回應資訊。
您可以將以下任何 AWS 資源設定為 Amazon Pinpoint 語音事件目的地:
- Amazon Simple Notification Service (Amazon SNS) 主題
- Amazon CloudWatch Logs
- Amazon Kinesis Data Firehose 串流
要設定事件目的地,請使用 Amazon Pinpoint SMS 和語音訊息版本 2 的 API 或其中一個 AWS SDK。
**注意:**以下解決方案僅適用於 Amazon Pinpoint SMS 和語音訊息版本 2 的 API。關於 Amazon Pinpoint SMS 和 Voice v1 API,請參閱如何為 Amazon Pinpoint SMS 和 Voice v1 API 設定 Amazon Pinpoint 語音訊息的日誌記錄?
將 Amazon SNS 主題設定為 Amazon Pinpoint 語音事件目的地
1. 透過執行以下 create-configuration-set (pinpoint-sms-voice v2) AWS CLI 命令建立組態集:
注意:您可以將 VoiceSNS 替換為組態集的任何名稱。
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceSNS
2. 將您想要接收語音訊息日誌的端點訂閲至 Amazon SNS 主題。SNS 主題可為新主題或現有主題。如需指示,請參閱將端點訂閲至 Amazon SNS 主題。
**注意:**要使用 AWS CLI 建立新的 Amazon SNS 主題,請執行以下 create-topic 命令:
aws sns create-topic --name pinpointsmsvoice
3. 您必須在 SNS 主題存取政策中具有下列許可。這可允許 Amazon Pinpoint SMS 語音服務交付日誌:
重要提示:將 替換為您的 AWS 區域。將 替換為您的 AWS 帳戶 ID。將 pinpointsmsvoice 替換為您的 SNS 主題的名稱。
{ "Sid": "pinpointsmsvoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:<region>:<AccountID>:pinpointsmsvoice" }
4. 在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件,或指定 "ALL" 以接收所有事件,如下所示。
[ "ALL" ]
5. 透過執行以下 create-event-destination 命令,將事件目的地映射到 configuration-set-name:
重要提示:將 替換為您的 AWS 區域。將 替換為您的 AWS 帳戶 ID。將 pinpointsmsvoice 替換為您的 Amazon SNS 主題的名稱。
aws pinpoint-sms-voice-v2 create-event-destination —configuration-set-name VoiceSNS —event-destination-name VoiceSNS —matching-event-types file://matching.json —sns-destination TopicArn=arn:aws:sns:<region>:<AccountId>:pinpointsmsvoice
6. 透過使用 SendVoiceMessage v2 API 操作傳送 Amazon Pinpoint 語音訊息來測試設定。幾分鐘後,事件將出現在訂閲至 SNS 主題的端點中。
將 CloudWatch Logs 設定為 Amazon Pinpoint 語音事件目的地
1. 透過執行以下 create-configuration-set (pinpoint-sms-voice v2) AWS CLI 命令建立組態集:
注意:您可以將 VoiceCW 替換為您的組態集的任何名稱。
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceCW
2. 透過執行以下 create-log-group,建立一個新的 CloudWatch 日誌群組以接收語音訊息日誌:
aws logs create-log-group —log-group-name /aws/pinpoint/voice
-或-
使用現有的 CloudWatch 日誌群組完成以下步驟。
3. 透過執行以下操作獲取 CloudWatch 日誌群組的 ARN:
開啟 CloudWatch 主控台。
在左側導覽窗格中,選擇 Logs (日誌)。然後,選擇 Log groups (日誌群組)。
在 Log group (日誌群組) 欄中,選擇日誌群組的名稱。
在 Log group details (日誌群組詳細資訊) 窗格中,複製 ARN 值。這是您的日誌群組的 ARN。
4. 為 Amazon Pinpoint 服務建立要承擔的新的 AWS Identity and Access Management (IAM) 角色。如需指示,請參閱為 AWS 服務建立角色 (主控台) 或為服務建立角色 (AWS CLI)。設定角色時,請修改角色的信任政策,以便在政策的主體部分中包含以下許可聲明:
注意:此許可聲明允許 sms-voice 服務承擔 IAM 角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
5. 修改 IAM 角色的許可政策,使其包含以下許可聲明:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }
注意:此許可聲明授予呼叫特定 CloudWatch Logs API 操作的許可。如需詳細資訊,請參閱 CloudWatch Logs 許可參考。
6. 在文字編輯器中,建立名為 CloudWatchDestination.json 的輸入請求檔案。然後,將以下目的地參數複製並貼到檔案中:
重要提示:將
替換為您的 AWS 區域。將 替換為您的 AWS 帳戶 ID。將 替換為 IAM 角色名稱。
{ "IamRoleArn": "arn:aws:iam::<AccountID>:role/<IAM role name>", "LogGroupArn": "arn:aws:logs:<region>:<AccountID>:log-group:pinpointsmsvoice:" }
7. 在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件或指定 "ALL" 以接收所有事件,如下所示。
[ "ALL" ]
**重要提示:**請確保將 VoiceCW 替換為組態集的名稱。
8. 透過執行以下 create-event-destination 命令,將事件目的地映射到 configuration-set-name:
aws pinpoint-sms-voice-v2 create-event-destination —configuration-set-name VoiceCW —event-destination-name CloudWatch_Destination —matching-event-types file://matching.json --cloud-watch-logs-destination file://CloudWatchDestination.json
9. 透過使用 SendVoiceMessage v2 API 操作傳送 Amazon Pinpoint 語音訊息來測試設定。幾分鐘後,事件將出現在訂閲至 Amazon SNS 主題的端點中。
將 Kinesis Data Firehose 串流設定為 Amazon Pinpoint 語音事件目的地
1. 透過執行以下 create-configuration-set (pinpoint-sms-voice v2) AWS CLI 命令建立組態集:
注意:您可以將 VoiceKinesis 替換為組態集的任何名稱。
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceKinesis
2. 建立 Kinesis Data Firehose 交付串流。對於 Destination (目的地) 設定,請選擇 Amazon Simple Storage Service (Amazon S3) (Amazon Simple Storage Service (Amazon S3))。
重要提示:接受預設 IAM 服務角色。然後,將 IAM 服務角色的名稱複製到剪貼簿。您需要執行以下步驟的角色名稱。
3. 修改 IAM 角色的許可政策,以便在政策的主體部分中包含以下許可聲明:
注意:此許可聲明授予 sms-voice 服務承擔 IAM 角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "firehose.amazonaws.com", "sms-voice.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
相關內容
- 已提問 9 個月前lg...
- 已提問 1 年前lg...
- 已提問 10 個月前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 7 個月前