Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
如何使用 Amazon Pinpoint 設定 AWS End User Messaging 語音訊息的記錄?
我想記錄我透過 Amazon Pinpoint 傳送的語音訊息狀態。
解決方法
若要記錄 Amazon Pinpoint 語音訊息的狀態,請設定組態集與事件目的地。接著,將事件目的地對應至您的組態集。此組態可讓您接收透過 Amazon Pinpoint 傳送之語音訊息的回應資訊。
您可以將以下任一 AWS 資源設定為 Amazon Pinpoint 語音事件目的地:
若要設定事件目的地,請使用 AWS End User Messaging API 或其中一個 AWS SDK。
**注意:**以下語音訊息記錄組態僅適用於 AWS End User Messaging。若為 SMS and Voice v1,請參閱如何為 Amazon Pinpoint SMS and Voice v1 API 設定 Amazon Pinpoint 語音訊息的記錄?
將 Amazon SNS 主題設定為 Amazon Pinpoint 語音事件目的地
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
請完成以下步驟:
-
若要建立組態集,請執行 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**注意:**請將 pinpointsmsvoice 替換為您的 SNS 主題名稱。
-
請在 SNS 主題的存取政策中新增以下權限。此政策可允許 AWS End User Messaging 語音服務傳遞日誌:
{ "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 替換為您的區域,將 ACCOUNT_ID 替換為您的帳戶 ID,並將 pinpointsmsvoice 替換為您的 SNS 主題名稱。
-
若要測試設定,請使用 SendVoiceMessage V2 API 操作傳送 Amazon Pinpoint 語音訊息。幾分鐘後,事件會顯示在已訂閱該 SNS 主題的端點中。
將 CloudWatch Logs 設定為 Amazon Pinpoint 語音事件目的地
請完成以下步驟:
-
若要建立組態集,請執行 create-configuration-set 命令:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceCW注意: 請將 VoiceCW 替換為您的組態集名稱。
-
若要建立新的 CloudWatch 日誌群組 以接收語音訊息日誌,請執行 create-log-group 命令:
aws logs create-log-group --log-group-name /aws/pinpoint/voice**注意:**請將 log-group-name 替換為您的日誌群組名稱。
-或-
使用既有的 CloudWatch 日誌群組,並依以下步驟取得 ARN:
開啟 CloudWatch console (CloudWatch 主控台)。
在導覽窗格中,選擇 Logs (日誌),然後選擇 Log groups (日誌群組)。
在 Log group (日誌群組) 欄中,選擇您的日誌群組名稱。
在 Log group details (日誌群組詳細資料) 窗格中,複製 ARN 值。這就是您的日誌群組 ARN。 -
建立新的 IAM 角色,供 Amazon Pinpoint 服務擔任。
-
使用以下陳述式更新 IAM 角色信任政策,以允許 SMS 語音服務擔任 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/VoiceCW" } } } ] }**注意:**請將 us-east-1 替換為您的區域,將 ACCOUNT_ID 替換為您的帳戶 ID,並將 VoiceCW 替換為您的組態集。
-
{ "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:*" ] } ] }**注意:**請將 us-east-1 替換為您的區域,並將 ACCOUNT_ID 替換為您的帳戶 ID。
上述政策會授與呼叫特定 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" ] -
執行 create-event-destination 命令,將事件目的地對應至組態集名稱:
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注意: 請將 VoiceCW 替換為您的組態集名稱。
-
若要測試設定,請使用 SendVoiceMessage V2 API 操作傳送 Amazon Pinpoint 語音訊息。幾分鐘後,事件會出現在 CloudWatch 日誌群組中。
將 Firehose 傳遞串流設定為 Amazon Pinpoint 語音事件目的地
請完成以下步驟:
-
若要建立組態集,請執行 create-configuration-set 命令:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceKinesis注意: 請將 VoiceKinesis 替換為您的組態集名稱。
-
建立 Firehose 傳遞串流。在 Destination setting (目的地設定) 中,選擇 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" } } } ] }**注意:**請將 us-east-1 替換為您的區域,將 ACCOUNT_ID 替換為您的帳戶 ID
上述政策可允許 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 替換為您的區域,將 ACCOUNT_ID 替換為您的帳戶 ID,將 KINESIS_FIREHOSE_NAME 替換為您的 Firehose 傳遞串流名稱,並將 IAM_ROLE 替換為您的 IAM 角色名稱。
-
在文字編輯器中,為 MatchingEventTypes 建立名為 matching.json 的輸入請求檔案。指定要接收的事件,或指定**「所有」**以接收所有事件:
[ "ALL" ] -
若要使用輸入請求檔案將事件目的地對應至 configuration-set-name,請執行 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 官方已更新 4 個月前