¿Cómo se configura el registro de los mensajes de voz de Amazon Pinpoint para la segunda versión de la API de SMS y voz de Amazon Pinpoint?
Deseo supervisar el estado de los mensajes de voz que envío a través de Amazon Pinpoint. ¿Cómo se configura esto?
Resolución
Para registrar el estado de los mensajes de voz de Amazon Pinpoint, debe configurar un conjunto de configuración y un destino de eventos. Después de configurar el destino de eventos, este se debe asignar al conjunto de configuración. Esto permite recibir la información de respuesta sobre los mensajes de voz que se envían a través de Amazon Pinpoint.
Puede configurar cualquiera de los siguientes recursos de AWS como destinos de eventos de voz de Amazon Pinpoint:
- Temas de Amazon Simple Notification Service (Amazon SNS)
- Amazon CloudWatch Logs
- Secuencias de Amazon Kinesis Data Firehose
Para configurar un destino de eventos, utilice las API (segunda versión) de SMS y mensajería de voz de Amazon Pinpoint o uno de los SDK de AWS.
Nota: La siguiente resolución únicamente se aplica a la API (segunda versión) de SMS y voz de Amazon Pinpoint. Para la API de Amazon Pinpoint SMS y Voice v1, consulte ¿Cómo configuro el registro de los mensajes de voz de Amazon Pinpoint para la API de Amazon Pinpoint SMS y Voice v1?
Configurar un tema de Amazon SNS como destino de eventos de voz de Amazon Pinpoint
1. Cree un conjunto de configuración. Para ello, ejecute el siguiente comando de AWS CLI create-configuration-set (pinpoint-sms-voice v2):
Nota: Puede reemplazar VoiceSNS por cualquier nombre para el conjunto de configuración.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceSNS
2. Suscriba a un tema de Amazon SNS el punto de conexión para el que desea recibir registros de mensajes de voz. El tema de SNS puede ser un tema nuevo o existente. Para conocer las instrucciones, consulte Para suscribir un punto de conexión a un tema de Amazon SNS.
Nota: Para crear un nuevo tema de Amazon SNS mediante AWS CLI, ejecute el siguiente comando create-topic:
aws sns create-topic --name pinpointsmsvoice
3. Debe tener el siguiente permiso en la política de acceso del tema de SNS. Esto permite que el servicio de voz de SMS de Amazon Pinpoint entregue registros:
Importante: sustituya por la región de AWS. Sustituya por el ID de la cuenta de AWS. Sustituya pinpointsmsvoice por el nombre del tema de SNS.
{ "Sid": "pinpointsmsvoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:<region>:<AccountID>:pinpointsmsvoice" }
4. En un editor de texto, cree un archivo de solicitud de entrada llamado matching.json para MatchingEventTypes. Especifique los eventos que desea recibir, o especifique “ALL” (Todos) para recibir todos los eventos como se indica a continuación.
[ "ALL" ]
5. Asigne el destino de eventos a configuration-set-name (nombre del conjunto de configuración) mediante la ejecución del siguiente comando create-event-destination:
Importante: sustituya por la región de AWS. Sustituya por el ID de la cuenta de AWS. Sustituya pinpointsmsvoice por el nombre del tema de Amazon SNS.
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:<region>:<AccountId>:pinpointsmsvoice
6. Para probar la configuración, envíe un mensaje de voz de Amazon Pinpoint mediante la operación de la API SendVoiceMessage v2. Después de unos minutos, el evento aparecerá en el punto de conexión que esté suscrito al tema de SNS.
Configurar los Registros de CloudWatch como destino de eventos de voz de Amazon Pinpoint
1. Cree un conjunto de configuración. Para ello, ejecute el siguiente comando de AWS CLI create-configuration-set (pinpoint-sms-voice v2):
Nota: Puede reemplazar VoiceCW por cualquier nombre para el conjunto de configuración.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceCW
2. Cree un nuevo grupo de registro de CloudWatch para recibir los registros de mensajes de voz mediante la ejecución del siguiente create-log-group:
aws logs create-log-group —log-group-name /aws/pinpoint/voice
De forma alternativa, haga lo siguiente:
Utilice un grupo de registros de CloudWatch existente para completar los siguientes pasos.
3. Obtenga el ARN de su grupo de registros de CloudWatch de la siguiente manera:
Abra la consola de CloudWatch.
En el panel de navegación izquierdo, elija Logs (Registros). A continuación, seleccione Log groups (Grupos de registros).
En la columna Log group (Grupo de registro), elija el nombre del grupo de registro.
En el panel Log group details (Detalles del grupo de registro), copie el valor del ARN. Este es el ARN del grupo de registros.
4. Cree un nuevo rol de AWS Identity and Access Management (IAM) para que lo asuma el servicio Amazon Pinpoint. Para obtener instrucciones, consulte Creación de un rol para un servicio de AWS (consola) o Creación de un rol para un servicio (AWS CLI). Al configurar el rol, modifique la política de confianza del rol de modo que incluya la siguiente instrucción de permisos en la sección principal de la política:
Nota: esta instrucción de permisos permite que el servicio sms-voice asuma el rol de IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
5. Modifique la política de permisos del rol de IAM de modo que incluya la siguiente instrucción de permisos:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }
Nota: esta instrucción de permisos otorga permisos para llamar a operaciones específicas de la API de Registros de CloudWatch. Para obtener más información, consulte la referencia de permisos de los Registros de CloudWatch.
6. En un editor de texto, cree un archivo de solicitud de entrada denominado CloudWatchDestination.json. A continuación, copie y pegue los siguientes parámetros de destino en el archivo:
Importante: sustituya
por la región de AWS. Sustituya por el ID de la cuenta de AWS. Sustituya por el nombre del rol de IAM.
{ "IamRoleArn": "arn:aws:iam::<AccountID>:role/<IAM role name>", "LogGroupArn": "arn:aws:logs:<region>:<AccountID>:log-group:pinpointsmsvoice:" }
7. En un editor de texto, cree un archivo de solicitud de entrada llamado matching.json para MatchingEventTypes. Especifique los eventos que desea recibir; de otro modo, especifique “ALL” (Todos) para recibir todos los eventos como se indica a continuación.
[ "ALL" ]
Importante: asegúrese de reemplazar VoiceCW por el nombre del conjunto de configuración.
8. Asigne el destino de eventos al configuration-set-name (nombre del conjunto de configuración) mediante la ejecución del siguiente comando 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
9. Para probar la configuración, envíe un mensaje de voz de Amazon Pinpoint mediante la operación de la API SendVoiceMessage v2. Después de unos minutos, el evento aparecerá en el punto de conexión que está suscrito al tema de Amazon SNS.
Configurar una secuencia de Kinesis Data Firehose como destino de eventos de voz de Amazon Pinpoint
1. Cree un conjunto de configuración. Para ello, ejecute el siguiente comando de AWS CLI create-configuration-set (pinpoint-sms-voice v2):
Nota: puede reemplazar VoiceKinesis por cualquier nombre del conjunto de configuración.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceKinesis
2. Crear una secuencia de entrega de Kinesis Data Firehose. Para la configuración Destino, elija Amazon Simple Storage Service (Amazon S3).
Importante: acepte el rol de servicio de IAM predeterminado. A continuación, copie el nombre del rol de servicio de IAM en el portapapeles. Necesita el nombre del rol para llevar a cabo los siguientes pasos.
3. Modifique la política de permisos del rol de IAM de modo que incluya la siguiente instrucción de permisos en la sección principal de la política:
Nota: esta instrucción de permisos otorga al servicio sms-voice la posibilidad de asumir el rol de IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "firehose.amazonaws.com", "sms-voice.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años