Comment configurer la journalisation des messages vocaux Amazon Pinpoint pour l'API Amazon Pinpoint SMS et Voice v2 ?

Lecture de 8 minute(s)
0

Je souhaite surveiller l'état des messages vocaux que j'envoie via Amazon Pinpoint.

Résolution

Pour enregistrer l'état des messages vocaux Amazon Pinpoint, vous devez configurer un ensemble de configuration et la destination de l'événement. Après avoir défini la destination de l'événement, mappez-la à votre ensemble de configuration. Cela vous permet de recevoir les informations de réponse concernant les messages vocaux que vous envoyez via Amazon Pinpoint.

Vous pouvez configurer l'une des ressources AWS suivantes en tant que destinations d'événements vocaux Amazon Pinpoint :

Pour configurer la destination d'un événement, utilisez les API de messagerie vocale et SMS d'Amazon Pinpoint v2 ou l'un des kits SDK AWS.

Remarque : La résolution suivante s'applique uniquement à l'API Amazon Pinpoint SMS and Voice v2. Pour l'API Amazon Pinpoint SMS and Voice v1, consultez la section Comment configurer la journalisation des messages vocaux Amazon Pinpoint pour l'API Amazon Pinpoint SMS and Voice v1 ?

Configurer une rubrique Amazon SNS en tant que destination d'un événement vocal Amazon Pinpoint

1.    Pour créer un ensemble de configuration, exécutez la commande d'interface de ligne de commande AWS create-configuration-set (pinpoint-sms-voice v2) suivante :

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

Remarque : Vous pouvez remplacer VoiceSNS par n'importe quel nom pour votre jeu de configuration.

2.    Abonnez le point de terminaison pour lequel vous souhaitez enregistrer des messages vocaux à une rubrique Amazon SNS. La rubrique SNS peut être une nouvelle rubrique ou une rubrique existante. Pour obtenir des instructions, consultez Pour abonner un point de terminaison à une rubrique Amazon SNS.

Remarque : Pour créer une nouvelle rubrique Amazon SNS à l'aide de l'interface de ligne de commande AWS, exécutez la commande create-topic suivante :

aws sns create-topic --name pinpointsmsvoice

3.    Vous devez disposer de l'autorisation suivante dans votre politique d'accès aux rubriques SNS. Cela permet au service vocal SMS Amazon Pinpoint de fournir des journaux :

`{   "Sid": "pinpointsmsvoice",   "Effect": "Allow",   "Principal": {     "Service": "sms-voice.amazonaws.com"   },   "Action": "SNS:Publish",   "Resource": "arn:aws:sns:us-east-1:ACCOUNT_ID:`pinpointsmsvoice`" }`

Remarque : Remplacez us-east-1 par votre région AWS. Remplacez ACCOUNT_ID par l'ID de votre compte AWS. Remplacez pinpointsmsvoice par le nom de votre rubrique SNS.

4.    Dans un éditeur de texte, créez un fichier de demande d'entrée nommé matching.json pour MatchingEventTypes. Spécifiez les événements que vous souhaitez recevoir ou spécifiez « TOUS » pour recevoir tous les événements :

[
"ALL"
]

5.    Pour mapper la destination de l'événement au configuration-set-name, exécutez la commande create-event-destination suivante :

`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

Remarque : Remplacez us-east-1 par votre région. Remplacez ACCOUNT_ID par l'ID de votre compte AWS. Remplacez pinpointsmsvoice par le nom de votre rubrique SNS.

6.    Pour tester la configuration, utilisez l'opération d'API SendVoiceMessage v2 pour envoyer un message vocal Amazon Pinpoint. Après quelques minutes, l'événement apparaît sur le terminal abonné à la rubrique SNS.

Configurer CloudWatch Logs en tant que destination d'événements vocaux Amazon Pinpoint

1.    Pour créer un ensemble de configuration, exécutez la commande d'interface de ligne de commande AWS create-configuration-set (pinpoint-sms-voice v2) suivante :

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

Remarque : Vous pouvez remplacer VoiceCW par n'importe quel nom pour votre jeu de configuration.

2.    Créez un nouveau groupe de journaux CloudWatch qui reçoit les journaux des messages vocaux. Exécutez le groupe create-log-group suivant :

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

-ou-

Utilisez un groupe de journaux CloudWatch existant pour effectuer les étapes suivantes.

3.    Obtenez les noms Amazon Resource Names (ARN) de votre groupe de journaux CloudWatch : Ouvrez la console CloudWatch. Dans le volet de navigation de gauche, choisissez Journaux. Choisissez ensuite Groupe de journaux. Dans la colonne Groupe de journaux, choisissez le nom de votre groupe de journaux. Dans le volet Détails du groupe de journaux, copiez la valeur ARN. Il s'agit de l'ARN de votre groupe de journaux.

4.    Créez un nouveau rôle AWS Identity and Access Management (IAM) que le service Amazon Pinpoint devra assumer. Pour obtenir des instructions, consultez la section Création d'un rôle pour un service AWS (console) ou Création d'un rôle pour un service (AWS CLI). Lorsque vous configurez le rôle, modifiez la politique de confiance du rôle afin qu'elle inclue la déclaration d'autorisations suivante dans la section principale de la politique :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sms-voice.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Remarque : Cette déclaration d'autorisation permet au service sms-voice d'assumer le rôle IAM.

5.    Modifiez la politique d'autorisations du rôle IAM afin qu'elle inclue la déclaration d'autorisations suivante :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:CreateLogGroup",
        "logs:DescribeLogStreams",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    }
  ]
}

Remarque : Cette déclaration d'autorisations accorde l'autorisation d'appeler des opérations spécifiques de l'API CloudWatch Logs. Pour plus d'informations, consultez la référence sur les autorisations de CloudWatch Logs.

6.    Dans un éditeur de texte, créez un fichier de demande d'entrée nommé CloudWatchDestination.json. Entrez ensuite les paramètres de destination suivants dans le fichier :

`{   "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE",   "LogGroupArn": "arn:aws:logs:us-east-1:ACCOUNT_ID:LOG_GROUP:`pinpointsmsvoice`:" }`

**Remarque :**Remplacez la valeur de IamRoleArn par l'ARN de votre rôle IAM. Remplacez la valeur de LogGroupArn par l'ARN de votre groupe de journaux et le nom de la rubrique SNS.

7.    Dans un éditeur de texte, créez un fichier de demande d'entrée nommé matching.json pour MatchingEventTypes. Spécifiez les événements que vous souhaitez recevoir ou spécifiez « TOUS » pour recevoir tous les événements :

[
"ALL"
]

Important : Assurez-vous de remplacer VoiceCW par le nom de l'ensemble de votre configuration.

8.    Mappez la destination de l'événement au nom de configuration-set-name. Pour ce faire, exécutez la commande create-event-destination suivante :

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.    Testez la configuration en envoyant un message vocal Amazon Pinpoint à l'aide de l'opération d'API SendVoiceMessage v2. Après quelques minutes, l'événement apparaît sur le terminal abonné à la rubrique Amazon SNS.

Configurer un flux Kinesis Data Firehose en tant que destination d'événements vocaux Amazon Pinpoint

1.    Pour créer un ensemble de configuration, exécutez la commande d'interface de ligne de commande AWS create-configuration-set (pinpoint-sms-voice v2) suivante :

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

Remarque : Vous pouvez remplacer VoiceKinesis par n'importe quel nom pour votre jeu de configuration.

2.    Créez un flux de diffusion Kinesis Data Firehose. Pour le paramètre Destination, choisissez Amazon Simple Storage Service (Amazon S3).

Important : Acceptez le rôle de service IAM par défaut. Copiez ensuite le nom du rôle de service IAM dans votre presse-papiers. Vous avez besoin du nom du rôle pour les étapes suivantes.

3.    Modifiez la politique d'autorisations du rôle IAM afin qu'elle inclue la déclaration d'autorisations suivante dans la section principale de la politique :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "firehose.amazonaws.com",
          "sms-voice.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Cette déclaration d'autorisation autorise le service sms-voice à assumer le rôle IAM.

4.    Modifiez la politique d'autorisations du rôle de service IAM afin qu'elle inclue la déclaration d'autorisations suivante :

Important : Ne supprimez aucune instruction d'autorisation par défaut du rôle de service IAM.

{
     "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": "firehose:*",
      "Resource": "*"
}

5.    Dans un éditeur de texte, créez un fichier de demande d'entrée nommé KinesisFirehoseDestination.json. Copiez et collez ensuite les paramètres de destination suivants dans le fichier :

{

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

Remarque : Remplacez us-east-1 par votre région. Remplacez ACCOUNT_ID par l'ID de votre compte AWS. Remplacez KINESIS_FIREHOSE_NAME par le nom de votre flux Kinesis Data Firehose. Remplacez IAM_ROLE par le nom de votre rôle IAM.

6.    Pour mapper la destination de l'événement au nom de configuration-set-name, exécutez la commande create-event-destination avec un fichier de demande d'entrée.

Dans un éditeur de texte, créez un fichier de demande d'entrée nommé matching.json pour MatchingEventTypes. Spécifiez les événements que vous souhaitez recevoir, ou spécifiez TOUT pour recevoir tous les événements :

[
"ALL"
]

Exécutez ensuite la commande 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

Important : Assurez-vous de remplacer VoiceKinesis par le nom de l'ensemble de votre configuration.

7.    Pour tester la configuration, utilisez l'opération d'API SendVoiceMessage v2 pour envoyer un message vocal Amazon Pinpoint. Après quelques minutes, l'événement apparaît dans le compartiment Amazon S3 que vous avez configuré lors de la création du flux Kinesis Data Firehose.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an