¿Cómo puedo configurar el registro de los mensajes de voz de AWS End User Messaging con Amazon Pinpoint?

8 minutos de lectura
0

Quiero supervisar el estado de los mensajes de voz que envío a través de Amazon Pinpoint.

Quiero supervisar el estado de los mensajes de voz que envío a través de Amazon Pinpoint.

Resolución

Para registrar el estado de los mensajes de voz de Amazon Pinpoint, configura un conjunto de configuraciones y un destino del evento. A continuación, asigna el destino del evento al conjunto de configuraciones. Esta configuración te permite recibir la información de respuesta de los mensajes de voz que envías a través de Amazon Pinpoint.

Puedes configurar cualquiera de los siguientes recursos de AWS como destinos de eventos de voz de Amazon Pinpoint:

Para configurar el destino de un evento, utiliza las API de AWS End User Messaging o uno de los SDK de AWS.

Nota: La siguiente configuración de registro de mensajes de voz solo se aplica a AWS End User Messaging. Para SMS y Voice v1, consulta ¿Cómo se configura el registro de los mensajes de voz de Amazon Pinpoint para la primera versión de la API de mensajería de voz y SMS de Amazon Pinpoint?

Configuración de un tema de Amazon SNS como destino de eventos de voz de Amazon Pinpoint

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Troubleshooting errors for the AWS CLI (Solución de errores de la AWS CLI). Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Para configurar un tema de Amazon SNS como destino de eventos de voz de Amazon Pinpoint, sigue estos pasos:

  1. Para crear un conjunto de configuraciones, ejecuta el comando create-configuration-set:

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

    Nota: Sustituye VoiceSNS por el nombre de tu conjunto de configuraciones.

  2. Suscríbete al punto de enlace en el que deseas registrar los mensajes de voz en un tema de Amazon SNS. El tema de SNS puede ser un tema nuevo o existente. Para usar la AWS CLI para crear un nuevo tema de Amazon SNS, ejecuta el comando create-topic:

    aws sns create-topic --name pinpointsmsvoice
  3. Añade el siguiente permiso en la política de acceso a temas de SNS. Esta política permite que el servicio de voz de AWS End User Messaging entregue registros:

    {
      "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"
        }
      }
    }

    Nota: Sustituye us-east-1 por tu región de AWS, pinpointsmsvoice por el nombre de tu tema de SNS y ACCOUNT_ID por el ID de tu cuenta de AWS.

  4. En un editor de texto, crea un archivo de solicitud de entrada denominado matching.json para MatchingEventTypes. Especifica los eventos que deseas recibir o especifica "ALL" para recibir todos los eventos:

    [
    "ALL"
    ]
  5. Para asignar el destino del evento a configuration-set-name, ejecuta el 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

    Nota: Sustituye us-east-1 por tu región, ACCOUNT_ID por el ID de tu cuenta y pinpointsmsvoice por el nombre de tu tema de SNS.

  6. Para probar la configuración, utilice la operación de la API V2 SendVoiceMessage para enviar un mensaje de voz de Amazon Pinpoint. El evento aparece en el punto de enlace que está suscrito al tema de SNS después de unos minutos.

Configuración de Registros de CloudWatch como destino de eventos de voz de Amazon Pinpoint

Para configurar Registros de CloudWatch como destino de eventos de voz de Amazon Pinpoint, sigue estos pasos:

  1. Para crear un conjunto de configuraciones, ejecuta el comando create-configuration-set:

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

    Nota: Sustituye VoiceCW por cualquier nombre de tu conjunto de configuraciones.

  2. Ejecuta el comando create-log-group para crear un nuevo grupo de registro de CloudWatch que reciba los registros de mensajes de voz:

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

    Alternativa:

    Utiliza un grupo de registro de CloudWatch existente y obtén el ARN con los siguientes pasos:
    Abre la consola de CloudWatch.
    En el panel de navegación, elige Registros. A continuación, elige Grupos de registros.
    En la columna Grupo de registro, elige el nombre de tu grupo de registro.
    En el panel Detalles del grupo de registros, copia el valor del ARN. Este es el ARN de tu grupo de registro.

  3. Crea un nuevo rol de IAM para que la asuma el servicio de Amazon Pinpoint.

  4. Actualiza la política de confianza de roles de IAM con la siguiente declaración de permisos:

    {
      "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"
            }
          }
        }
      ]
    }

    Nota: Esta política permite que el servicio de voz de SMS asuma el rol de IAM.

  5. Actualiza la política de permisos de roles de IAM con la siguiente declaración:

    {
        "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:*"
                ]
            }
        ]
    }

    Nota: Esta política de permisos concede permisos para llamar a operaciones específicas de la API de Registros de CloudWatch. Para obtener más información, consulta CloudWatch Logs permissions reference (Referencia de permisos de Registros de CloudWatch).

  6. En un editor de texto, crea un archivo de solicitud de entrada denominado CloudWatchDestination.json. A continuación, introduce los siguientes parámetros de destino en el archivo:

    `{   "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE",   "LogGroupArn": "arn:aws:logs:us-east-1:ACCOUNT_ID:log-group:/aws/pinpoint/voice" }`

    Nota: Sustituye el valor de IamRoleArn por el ARN del rol de IAM. Sustituye el valor de LogGroupArn por el ARN del grupo de registro de CloudWatch al que deseas enviar los eventos.

  7. En un editor de texto, crea un archivo de solicitud de entrada denominado matching.json para MatchingEventTypes. Especifica los eventos que deseas recibir o especifica "ALL" para recibir todos los eventos:

    [
    "ALL"
    ]

    Nota: Sustituye VoiceCW por el nombre del conjunto de la configuración.

  8. Ejecuta el comando create-event-destination para asignar el destino del evento a 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 probar la configuración, utilice la operación de la API V2 SendVoiceMessage para enviar un mensaje de voz de Amazon Pinpoint. El evento aparece en el grupo de registro de CloudWatch después de unos minutos.

Configuración de una secuencia de entrega de Firehose como destino de eventos de voz de Amazon Pinpoint

Para configurar una secuencia de entrega de Firehose como destino de eventos de voz de Amazon Pinpoint, sigue estos pasos:

  1. Para crear un conjunto de configuraciones, ejecuta el comando create-configuration-set:

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

    Nota: Sustituye VoiceKinesis por el nombre de tu conjunto de configuraciones.

  2. Crea una secuencia de entrega de Firehose. En Destination setting (Configuración de destino), elige Amazon Simple Storage Service (Amazon S3).

  3. Crea un nuevo rol de IAM para que la asuma el servicio de Amazon Pinpoint.

  4. Actualiza la política de confianza de roles de IAM con la siguiente declaración de permisos en la sección de entidades principales de la 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"
            }
          }
        }
      ]
    }

    Nota: Esta política permite que el servicio de voz de SMS asuma el rol de IAM.

  5. Actualiza la política de permisos de roles de IAM para incluir el ARN de la secuencia de entrega de Firehose:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "firehose:PutRecord",
                "Resource": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME"
            }
        ]
    }

    Nota: Sustituye ACCOUNT_ID por el ID de tu cuenta y KINESIS_FIREHOSE_NAME por el nombre del ARN de la secuencia de entrega de Firehose.

  6. En un editor de texto, crea un archivo de solicitud de entrada llamado KinesisFirehoseDestination.json. A continuación, copia y pega los siguientes parámetros de destino en el archivo:

    {
        "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE",
        "DeliveryStreamArn": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME"
    }

    Nota: Sustituye us-east-1 por tu región de AWS, ACCOUNT_ID por el ID de la cuenta, KINESIS_FIREHOSE_NAME por el nombre de la secuencia de entrega de Firehose e IAM_ROLE por el nombre del rol de IAM.

  7. Para asignar el destino del evento a configuration-set-name, ejecuta el comando create-event-destination con un archivo de solicitud de entrada:

  8. En un editor de texto, crea un archivo de solicitud de entrada denominado matching.json para MatchingEventTypes. Especifica los eventos que deseas recibir o especifica "ALL" para recibir todos los eventos:

    [
    "ALL"
    ]
  9. Ejecuta el 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

    Nota: Sustituye VoiceKinesis por el nombre de los conjuntos de configuraciones.

  10. Para probar la configuración, utilice la operación de la API V2 SendVoiceMessage para enviar un mensaje de voz de Amazon Pinpoint. El evento aparece en el bucket de Amazon S3 que configuraste al crear la secuencia de entrega de Firehose después de unos minutos.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 5 meses