Como faço para configurar o log de mensagens de voz do AWS End User Messaging com o Amazon Pinpoint?

8 minuto de leitura
0

Quero monitorar o status das mensagens de voz que envio pelo Amazon Pinpoint.

Quero monitorar o status das mensagens de voz que envio pelo Amazon Pinpoint.

Resolução

Para registrar o status das mensagens de voz do Amazon Pinpoint, defina um conjunto de configurações e o destino do evento. Em seguida, mapeie o destino do evento no conjunto de configurações. Com essa configuração, é possível receber as informações de resposta das mensagens de voz enviadas pelo Amazon Pinpoint.

Configure qualquer um dos seguintes recursos da AWS como destinos de eventos de voz do Amazon Pinpoint:

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 erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Para configurar um tópico do Amazon SNS como destino de um evento de voz do Amazon Pinpoint, conclua as seguintes etapas:

  1. Para criar um conjunto de configurações, execute o comando create-configuration-set:

    aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceSNS

    Observação: substitua o VoiceSNS pelo nome do conjunto de configurações.

  2. Assine o endpoint do qual você deseja registrar mensagens de voz em um tópico do Amazon SNS. O tópico do SNS pode ser novo ou um tópico já criado. Para usar a AWS CLI para criar um novo tópico do Amazon SNS, execute o comando create-topic:

    aws sns create-topic --name pinpointsmsvoice
  3. Adicione a seguinte permissão à política de acesso do tópico do SNS. Essa política permite que o serviço de voz do AWS End User Messaging forneça 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 Região AWS, pinpointsmsvoice pelo nome do tópico do SNS e ACCOUNT_ID pelo ID da conta da AWS.

  4. 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"
    ]
  5. 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:pinpointsmsvoice

    **Observação:**substitua us-east-1 pela sua região, ACCOUNT\ _ID pelo ID da conta e pinpointsmsvoice pelo nome do tópico do SNS.

  6. 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

Para configurar o CloudWatch Logs como um destino de evento de voz do Amazon Pinpoint, conclua as seguintes etapas:

  1. Para criar um conjunto de configurações, execute o comando create-configuration-set:

    aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceCW

    Observação: substitua VoiceCW por qualquer nome do conjunto de configurações.

  2. Execute o comando create-log-group para criar um novo grupo de logs do CloudWatch que receba logs de mensagens de voz:

    aws logs create-log-group --log-group-name /aws/pinpoint/voice

    -or-

    Use um grupo de logs já criado do CloudWatch e obtenha o ARN seguindo estas etapas:
    Abra o console do CloudWatch.
    No painel de navegação, escolha Logs. Em seguida, escolha Grupos de logs.
    Na coluna Grupo de logs, escolha o nome do grupo.
    No painel Detalhes do grupo de logs, copie o valor do ARN. Esse é o ARN do seu grupo de logs.

  3. Crie um novo perfil do IAM para o serviço Amazon Pinpoint assumir.

  4. Atualize a política de confiança do perfil do IAM com a seguinte instrução de permissão:

    {
      "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:**essa política permite que o serviço de voz SMS assuma o perfil do IAM.

  5. Atualize a política de permissões do perfil do IAM com a seguinte instruçã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:**essa política de permissões concede permissões para chamar operações específicas da API CloudWatch Logs. Para mais informações, consulte a referência de permissões do CloudWatch Logs.

  6. 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 perfil do IAM. Substitua o valor de LogGroupArn pelo ARN do grupo de logs do CloudWatch para o qual você deseja enviar eventos.

  7. 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"
    ]

    Observação: substitua VoiceCW pelo nome do seu conjunto de configurações.

  8. 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.json
  9. 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

Para configurar um stream de entrega do Firehose como destino de evento de voz do Amazon Pinpoint, conclua as seguintes etapas:

  1. Para criar um conjunto de configurações, execute o comando create-configuration-set:

    aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceKinesis

    Observação: substitua VoiceKinesis pelo nome do seu conjunto de configurações.

  2. Crie um stream de entrega do Firehouse. Na Configuração de destino, escolha Amazon Simple Storage Service (Amazon S3).

  3. Crie um novo perfil do IAM para o serviço Amazon Pinpoint assumir.

  4. Atualize a política de confiança do perfil do IAM com a seguinte instrução de permissões na seção 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: essa política permite que o serviço de voz SMS assuma o perfil do IAM.

  5. 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.

  6. 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 região AWS, ACCOUNT\ _ID pelo ID da conta, KINESIS\ _FIREHOSE\ _NAME pelo nome do seu stream de entrega do Firehose e IAM_ROLE pelo nome do seu perfil do IAM.

  7. Para mapear o destino do evento em configuration-set-name, execute o comando create-event-destination com um arquivo de solicitação de entrada:

  8. 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"
    ]
  9. Execute o comando 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

    **Observação:**substitua o VoiceKinesis pelo nome do seu conjunto de configurações.

  10. 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 bucket do Amazon S3 que você configurou ao criar o stream de entrega do Firehose após alguns minutos.

AWS OFICIAL
AWS OFICIALAtualizada há um mês