如何使用 Amazon Pinpoint 設定 AWS 終端用戶訊息語音訊息的記錄?
我想監控透過 Amazon Pinpoint 傳送的語音訊息的狀態。
我想監控透過 Amazon Pinpoint 傳送的語音訊息的狀態。
解決方案
若要記錄 Amazon Pinpoint 語音訊息的狀態,請設定組態集和事件目的地。然後,將事件目的地對映到您的組態集。此組態可讓您接收您透過 Amazon Pinpoint 傳送的語音訊息的回應資訊。
您可以將下列任何 AWS 資源設定為 Amazon Pinpoint 語音事件目的地:
若要設定事件目的地,可使用 AWS 終端用戶訊息 API 或其中一個 AWS SDK。
**注意:**下列語音消息記錄組態僅適用於 AWS 終端用戶訊息。對於 SMS 和 Voice v1,請參閱如何為 Amazon Pinpoint SMS 和 Voice v1 API 的語音訊息設定記錄?
將 Amazon SNS 主題設定為 Amazon Pinpoint 語音事件目的地
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,那麼請參閱 AWS CLI 錯誤疑難排解。此外,請確認您使用的是最新的 AWS CLI 版本。
若要將 Amazon SNS 主題設定為 Amazon Pinpoint 語音事件目的地,請完成以下步驟:
-
若要建立組態集,請執行 create-configuration-set 命令:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceSNS
注意: 將 VoiceSNS 取代為您的組態集名稱。
-
將您想要記錄語音訊息的端點訂閱至 Amazon SNS 主題。SNS 主題可以是全新或現有的主題。若要使用 AWS CLI 建立新的 Amazon SNS 主題,請執行 create-topic 命令:
aws sns create-topic --name pinpointsmsvoice
-
在您的 SNS 主題存取政策中新增下列許可。此政策允許 AWS 終端用戶語音訊息服務傳送日誌:
{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-1:ACCOUNT_ID:pinpointsmsvoice", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:us-east-1:ACCOUNT_ID:configuration-set/VoiceSNS" } } }
**注意:**將 us-east-1 取代為您的 AWS 區域,將 pinpointsmsvoice 取代為您的 SNS 主題名稱,並將 ACCOUNT_ID 取代為您的 AWS 帳戶 ID。
-
在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件,或指定**「所有」**以接收所有事件:
[ "ALL" ]
-
若要將事件目的地映射到 configuration-set-name,請執行 create-event-destination 命令:
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:us-east-1:ACCOUNT_ID:pinpointsmsvoice
**注意:**將 us-east-1 取代為您的 Region,將 ACCOUNT_ID 取代為您的帳戶 ID,並將 pinpointsmsvoice 取代為您的 SNS 主題名稱。
-
若要測試此設定,使用 SendVoiceMessage V2 API 作業以傳送 Amazon Pinpoint 語音訊息。在幾分鐘後,事件會出現在已訂閱 SNS 主題的端點中。
將 CloudWatch Logs 設定為 Amazon Pinpoint 語音事件目的地
若要將 CloudWatch Logs 設定為 Amazon Pinpoint 語音事件目的地,請完成以下步驟:
-
若要建立組態集,請執行 create-configuration-set 命令:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceCW
注意: 將 VoiceCW 取代為任何您的組態集名稱。
-
執行 create-log-group 命令以建立接收語音訊息日誌的新 CloudWatch 日誌群組:
aws logs create-log-group --log-group-name /aws/pinpoint/voice
-or-
使用現有的 CloudWatch 日誌群組,並依以下步驟取得 ARN:
開啟 CloudWatch console(CloudWatch 主控台)。
在瀏覽窗格中,選擇日誌。然後,選擇日誌群組。
在日誌群組欄位,選擇您的日誌群組名稱。
在日誌群組詳情窗格中,複製 ARN 值。這是您的日誌群組的 ARN。 -
建立新的 IAM 角色以擔任 Amazon Pinpoint。
-
使用下列許可聲明更新 IAM 角色信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:us-east-1:ACCOUNT_ID:configuration-set/VoiceKinesis" } } } ] }
**注意:**此政策允許 SMS 語音服務擔任 IAM 角色。
-
使用下列聲明更新 IAM 角色許可政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:ACCOUNT_ID:log-group:/aws/pinpoint/voice:*" ] } ] }
**注意:**此許可政策授予呼叫特定 CloudWatch Logs API 作業的許可。如需詳細資訊,請參閱 CloudWatch Logs 的許可參考資料。
-
在文字編輯器中,建立名為 CloudWatchDestination.json 的輸入請求檔案。然後,在檔案中輸入以下目的地參數:
`{ "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE", "LogGroupArn": "arn:aws:logs:us-east-1:ACCOUNT_ID:log-group:/aws/pinpoint/voice" }`
**注意:**將 IamRoleArn 的值取代為您的 IAM 角色 ARN。將 LogGroupArn 的值取代為您想要傳送事件的 CloudWatch 日誌群組 ARN。
-
在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件,或指定**「所有」**以接收所有事件:
[ "ALL" ]
**注意:**將 VoiceCW 取代為您的組態集名稱。
-
執行 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
-
若要測試此設定,使用 SendVoiceMessage V2 API 作業以傳送 Amazon Pinpoint 語音訊息。事件會在幾分鐘後出現在 CloudWatch 日誌群組中。
將 Firehose 交付串流設定為 Amazon Pinpoint 語音事件目的地
若要將 Firehose 交付串流設定為 Amazon Pinpoint 語音事件目的地,請完成以下步驟:
-
若要建立組態集,請執行 create-configuration-set 命令:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceKinesis
注意: 將 VoiceKinesis 取代為您的組態集名稱。
-
建立 Amazon Data Firehose 交付串流。在目標設定中,選擇Amazon Simple Storage Service (Amazon S3)。
-
建立新的 IAM 角色以擔任 Amazon Pinpoint。
-
在政策的主體區段使用下列許可聲明更新 IAM 角色信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:us-east-1:ACCOUNT_ID:configuration-set/VoiceKinesis" } } } ] }
注意: 此政策允許 SMS 語音服務擔任 IAM 角色。
-
更新 IAM 角色許可政策,將 Firehose 交付串流 ARN 包括在內:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:PutRecord", "Resource": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME" } ] }
注意: 將 ACCOUNT_ID 取代為您的帳戶 ID,並將 KINESIS_FIREHOSE_NAME 取代為您的 Firehose 交付串流 ARN 的名稱。
-
在文字編輯器中,建立名為 KinesisFirehoseDestination.json 的輸入請求檔案。然後,將以下目的地參數複製並貼至檔案中:
{ "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE", "DeliveryStreamArn": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME" }
**注意:**將 us-east-1 取代為您的 AWS 區域,將 ACCOUNT_ID 取代為您的帳戶 ID,將 KINESIS_FIREHOSE_NAME 取代為您的 Firehose 交付串流名稱,並將 IAM_ROLE 取代為您的 IAM 角色名稱。
-
若要將事件目的地映射到 configuration-set-name,請使用輸入請求檔案執行 create-event-destination 命令:
-
在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件,或指定**「所有」**以接收所有事件:
[ "ALL" ]
-
執行 create-event-destination 命令:
aws pinpoint-sms-voice-v2 create-event-destination --configuration-set-name VoiceKinesis --event-destination-name KinesisFirehose_Destination --matching-event-types file://matching.json --kinesis-firehose-destination file://KinesisFirehoseDestination.json
**注意:**將 VoiceKinesis 取代為您的組態集名稱。
-
若要測試此設定,使用 SendVoiceMessage V2 API 作業以傳送 Amazon Pinpoint 語音訊息。事件會在幾分鐘後出現在您建立 Firehose 交付串流時所設定的 Amazon S3 儲存貯體中。
![AWS 官方](/static/images/aws.png)
相關內容
- 已提問 3 個月前lg...
- 已提問 3 個月前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 4 年前