Como faço para configurar o log de mensagens de voz do AWS End User Messaging com o Amazon Pinpoint?
Quero registrar o status das mensagens de voz que envio pelo Amazon Pinpoint.
Resolução
Para registrar o status das mensagens de voz do Amazon Pinpoint, crie um conjunto de configurações e o destino do evento. Em seguida, mapeie o destino do evento no conjunto de configurações. Use a configuração para receber informações de resposta para as mensagens de voz enviadas pelo Amazon Pinpoint.
É possível configurar os seguintes recursos da AWS como destinos de eventos de voz do Amazon Pinpoint:
- Tópicos do Amazon Simple Notification Service (Amazon SNS)
- Amazon CloudWatch Logs
- Fluxos de entrega do Amazon Data Firehose
Para configurar um destino de evento, use as APIs AWS End User Messaging ou um dos SDKs da AWS.
Observação: a seguinte configuração de log de mensagens de voz se aplica somente ao AWS End User Messaging. Para SMS e Voice v1, consulte Como configuro o log de mensagens de voz do Amazon Pinpoint para a API Amazon Pinpoint SMS e Voice v1?
Configurar um tópico do Amazon SNS como destino de um evento de voz do Amazon Pinpoint
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Conclua as etapas a seguir:
-
Para criar um conjunto de configurações, execute o comando create-configuration-set:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceSNSObservação: substitua o VoiceSNS pelo nome do conjunto de configurações.
-
Inscreva o endpoint no qual você deseja registrar as mensagens de voz em log em um tópico do Amazon SNS. O tópico do SNS pode ser novo ou um tópico já criado.
-
Adicione as seguintes permissões à sua política de acesso a tópicos do SNS para permitir que o serviço de voz do AWS End User Messaging entregue logs:
{ "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" } } }Observação: substitua us-east-1 pela sua região da AWS, pinpointsmsvoice pelo nome do seu tópico do SNS e ACCOUNT_ID pelo ID da sua conta da AWS.
-
Em um editor de texto, crie um arquivo de solicitação de entrada chamado matching.json para MatchingEventTypes. Especifique os eventos que deseja receber ou especifique "TODOS" para receber todos os eventos:
[ "ALL" ] -
Para mapear o destino do evento em configuration-set-name, execute o comando 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:pinpointsmsvoiceObservação: substitua us-east-1 pela sua região, ACCOUNT_ID pelo ID da conta e pinpointsmsvoice pelo nome do tópico do SNS.
-
Para testar a configuração, use a operação da API V2 SendVoiceMessage para enviar uma mensagem de voz do Amazon Pinpoint. O evento aparece no endpoint que está inscrito no tópico do SNS após alguns minutos.
Configurar o CloudWatch Logs como um destino de evento de voz do Amazon Pinpoint
Conclua as etapas a seguir:
-
Para criar um conjunto de configurações, execute o comando create-configuration-set:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceCWObservação: substitua VoiceCW pelo nome do seu conjunto de configurações.
-
Para criar um grupo de logs, execute o comando create-log-group:
aws logs create-log-group --log-group-name /aws/pinpoint/voiceObservação: substitua log-group-name pelo nome do seu grupo de logs. Na saída do comando, anote o nome de recurso da Amazon (ARN) do grupo de logs a ser usado em uma etapa posterior. Se você estiver usando um grupo de logs existente, chame a operação da API LogGroup para obter o ARN.
-
Crie um novo perfil do AWS Identity and Access Management (AWS IAM) para o serviço Amazon Pinpoint assumir.
-
Atualize a política de confiança do perfil do IAM com a declaração a seguir para permitir que o serviço de voz SMS assuma o perfil do 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" } } } ] }Observação: substitua us-east-1 pela sua região, ACCOUNT_ID pelo ID da sua conta e VoiceCW pelo seu conjunto de configurações.
-
Atualize a política de permissões do perfil do IAM com a seguinte declaração:
{ "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:*" ] } ] }Observação: substitua us-east-1 pela sua região e ACCOUNT_ID pelo ID da sua conta. Essa política concede permissões para chamar operações específicas da API do CloudWatch Logs. Para obter mais informações, consulte Referência de permissões do CloudWatch Logs.
-
Em um editor de texto, crie um arquivo de solicitação de entrada chamado CloudWatchDestination.json. Em seguida, insira os seguintes parâmetros de destino no arquivo:
`{ "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE", "LogGroupArn": "arn:aws:logs:us-east-1:ACCOUNT_ID:log-group:/aws/pinpoint/voice" }`Observação: substitua o valor de IamRoleArn pelo ARN do seu perfil do IAM. Substitua o valor de LogGroupArn pelo ARN do grupo de logs do CloudWatch para o qual você deseja enviar eventos.
-
Em um editor de texto, crie um arquivo de solicitação de entrada chamado matching.json para MatchingEventTypes. Especifique os eventos que deseja receber ou especifique "TODOS" para receber todos os eventos:
[ "ALL" ] -
Execute o comando create-event-destination para mapear o destino do evento em 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.jsonObservação: substitua VoiceCW pelo nome do seu conjunto de configurações.
-
Para testar a configuração, use a operação da API V2 SendVoiceMessage para enviar uma mensagem de voz do Amazon Pinpoint. O evento aparece no grupo de logs do CloudWatch após alguns minutos.
Configurar um stream de entrega do Firehose como destino de evento de voz do Amazon Pinpoint
Conclua as etapas a seguir:
-
Para criar um conjunto de configurações, execute o comando create-configuration-set:
aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceKinesisObservação: substitua VoiceKinesis pelo nome do seu conjunto de configurações.
-
Crie um stream de entrega do Firehose e anote o ARN do stream de entrega. Na Configuração de destino, escolha Amazon Simple Storage Service (Amazon S3).
-
Crie um novo perfil do IAM para o serviço Amazon Pinpoint assumir.
-
Atualize a política de confiança do perfil do IAM com a seguinte declaração na seção da entidade principal da política:
{ "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" } } } ] }Observação: substitua us-east-1 pela sua região e ACCOUNT_ID pelo ID da sua conta. Essa política permite que o serviço de voz SMS assuma o perfil do IAM.
-
Atualize a política de permissões do perfil do IAM para incluir o ARN do stream de entrega do Firehose:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:PutRecord", "Resource": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME" } ] }Observação: substitua ACCOUNT_ID pelo ID da conta e KINESIS_FIREHOSE_NAME pelo nome do ARN do seu stream de entrega do Firehose.
-
Em um editor de texto, crie um arquivo de solicitação de entrada chamado KinesisFirehoseDestination.json. Em seguida, copie e cole os seguintes parâmetros de destino no arquivo:
{ "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE", "DeliveryStreamArn": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME" }Observação: substitua us-east-1 pela sua região AWS, ACCOUNT_ID pelo ID da sua conta, KINESIS_FIREHOSE_NAME pelo nome do seu stream de entrega do Firehose e IAM_ROLE pelo nome do seu perfil do IAM.
-
Em um editor de texto, crie um arquivo de solicitação de entrada chamado matching.json para MatchingEventTypes. Especifique os eventos que deseja receber ou especifique "TODOS" para receber todos os eventos:
[ "ALL" ] -
Para mapear o destino do evento em configuration-set-name, execute o comando create-event-destination com um arquivo de solicitação de entrada:
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.jsonObservação: substitua VoiceKinesis pelo nome do seu conjunto de configurações.
-
Para testar a configuração, use a operação da API V2 SendVoiceMessage para enviar uma mensagem de voz do Amazon Pinpoint. Depois de alguns minutos, o evento aparece no bucket do Amazon S3 que você configurou ao criar o stream de entrega do Firehose.
- Tags
- Amazon Pinpoint
- Idioma
- Português

Conteúdo relevante
- feita há um ano
- feita há um ano