Salta al contenuto

Come posso configurare la registrazione dei messaggi vocali di AWS End User Messaging con Amazon Pinpoint?

7 minuti di lettura
0

Desidero monitorare lo stato dei messaggi vocali che invio tramite Amazon Pinpoint.

Desidero monitorare lo stato dei messaggi vocali che invio tramite Amazon Pinpoint.

Risoluzione

Per registrare lo stato dei messaggi vocali di Amazon Pinpoint, configura un set di configurazione e una destinazione dell'evento. Quindi mappa la destinazione dell'evento sul tuo set di configurazione. Questa configurazione consente di ricevere le informazioni di risposta per i messaggi vocali inviati tramite Amazon Pinpoint.

Puoi configurare una qualsiasi delle seguenti risorse AWS come destinazioni di eventi vocali di Amazon Pinpoint:

Per configurare la destinazione di un evento, utilizza le API AWS End User Messaging o uno degli SDK AWS.

Nota: la seguente configurazione di registrazione dei messaggi vocali si applica solo a AWS End User Messaging. Per SMS and Voice v1, consulta Come posso configurare la registrazione dei messaggi vocali di Amazon Pinpoint per l'API Amazon Pinpoint SMS and Voice v1?

Configura un topic Amazon SNS come destinazione di eventi vocali di Amazon Pinpoint

Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia a riga di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Per configurare un topic Amazon SNS come destinazione di eventi vocali di Amazon Pinpoint, completa i seguenti passaggi:

  1. Per creare un set di configurazione, esegui il comando create-configuration-set:

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

    Nota: sostituisci a VoiceSNS il nome del tuo set di configurazione.

  2. Iscrivi l'endpoint su cui desideri registrare i messaggi vocali a un topic Amazon SNS. Il topic SNS può essere un topic nuovo o esistente. Per utilizzare l'interfaccia a riga di comando di AWS per creare un nuovo topic Amazon SNS, esegui il comando create-topic:

    aws sns create-topic --name pinpointsmsvoice
  3. Aggiungi la seguente autorizzazione nella tua policy di accesso ai topic SNS. Questa policy consente al servizio vocale di AWS End User Messaging di produrre log:

    {
      "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: sostituisci a us-east-1 la tua regione AWS, a pinpointsmsvoice il nome del tuo topic SNS e a ACCOUNT_ID l'ID del tuo account AWS.

  4. In un editor di testo, crea un file di richiesta di input denominato matching.json per MatchingEventTypes.Specifica gli eventi che desideri ricevere o specifica “TUTTI” per ricevere tutti gli eventi:

    [
    "ALL"
    ]
  5. Per mappare la destinazione dell'evento su configuration-set-name, esegui il 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: sostituisci a us-east-1 la tua regione, ad ACCOUNT_ID l'ID del tuo account e a pinpointsmsvoice il nome del tuo topic SNS.

  6. Per testare la configurazione, utilizza l'operazione API V2 SendVoiceMessage per inviare un messaggio vocale di Amazon Pinpoint. L'evento viene visualizzato nell'endpoint iscritto al topic SNS dopo alcuni minuti.

Configura CloudWatch Logs come destinazione di eventi vocali di Amazon Pinpoint

Per configurare CloudWatch Logs come destinazione di eventi vocali di Amazon Pinpoint, completa i seguenti passaggi:

  1. Per creare un set di configurazione, esegui il comando create-configuration-set:

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

    Nota: sostituisci a VoiceCW un nome qualsiasi per il tuo set di configurazione.

  2. Esegui il comando create-log-group per creare un nuovo gruppo di log di CloudWatch che riceve i log dei messaggi vocali:

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

    -oppure-

    Utilizza un gruppo di log di CloudWatch esistente e ottieni l'ARN con i seguenti passaggi:
    Apri la console di CloudWatch.
    Nel pannello di navigazione, scegli Log. Quindi scegli Gruppi di log.
    Nella colonna Gruppo di log, scegli il nome del tuo gruppo di log.
    Nel pannello Dettagli del gruppo di log, copia il valore ARN. Questo è l'ARN del tuo gruppo di log.

  3. Crea un nuovo ruolo IAM da far assumere al servizio Amazon Pinpoint.

  4. Aggiorna la policy di attendibilità dei ruoli IAM con la seguente dichiarazione di autorizzazioni:

    {
      "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: questa policy consente al servizio vocale SMS di assumere il ruolo IAM.

  5. Aggiorna la policy di autorizzazione dei ruoli IAM con la seguente dichiarazione:

    {
        "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: questa policy di autorizzazione concede autorizzazioni per chiamare specifiche operazioni API di CloudWatch Logs. Per ulteriori informazioni, consulta Autorizzazioni di CloudWatch Logs.

  6. In un editor di testo, crea un file di richiesta di input denominato CloudWatchDestination.json. Quindi inserisci i seguenti parametri di destinazione nel file:

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

    Nota: sostituisci al valore ** IAMROLearn ** l’ARN del tuo ruolo IAM. Sostituisci al valore LogGroupArn l'ARN del gruppo di log di CloudWatch a cui desideri inviare gli eventi.

  7. In un editor di testo, crea un file di richiesta di input denominato matching.json per MatchingEventTypes. Specifica gli eventi che desideri ricevere o specifica “TUTTI” per ricevere tutti gli eventi:

    [
    "ALL"
    ]

    Nota: sostituisci a VoiceCW il nome del set di configurazione.

  8. Esegui il comando create-event-destination per mappare la destinazione dell'evento su 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. Per testare la configurazione, utilizza l'operazione API V2 SendVoiceMessage per inviare un messaggio vocale di Amazon Pinpoint. L'evento viene visualizzato nel gruppo di log di CloudWatch dopo alcuni minuti.

Configura un flusso di consegna Firehose come destinazione di eventi vocali di Amazon Pinpoint

Per configurare un flusso di consegna Firehose come destinazione di eventi vocali di Amazon Pinpoint, completa i seguenti passaggi:

  1. Per creare un set di configurazione, esegui il comando create-configuration-set:

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

    Nota: sostituisci a VoiceKinesis il nome del tuo set di configurazione.

  2. Crea un flusso di consegna Firehose. Per Impostazione della destinazione, scegli Amazon Simple Storage Service (Amazon S3).

  3. Crea un nuovo ruolo IAM da far assumere al servizio Amazon Pinpoint.

  4. Aggiorna la policy di attendibilità dei ruoli IAM con la seguente dichiarazione di autorizzazione nella sezione principale della policy:

    {
      "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: questa policy consente al servizio vocale SMS di assumere il ruolo IAM.

  5. Aggiorna la policy di autorizzazione dei ruoli IAM per includere l'ARN del flusso di consegna 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: sostituisci ad ACCOUNT_ID l'ID del tuo account e a KINESIS_FIREHOSE_NAME il nome dell'ARN del tuo flusso consegna Firehose.

  6. In un editor di testo, crea un file di richiesta di input denominato KinesisFirehoseDestination.json. Quindi copia e incolla i seguenti parametri di destinazione nel file:

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

    Nota: aostituisci a us-east-1 la tua regione AWS, ad ACCOUNT_ID l'ID del tuo account, a KINESIS_FIREHOSE_NAME il nome del tuo flusso di consegna Firehose e a IAM\ _ROLE il nome del tuo ruolo IAM.

  7. Per mappare la destinazione dell'evento su configuration-set-name, esegui il comando create-event-destination con un file di richiesta di input:

  8. In un editor di testo, crea un file di richiesta di input denominato matching.json per MatchingEventTypes. Specifica gli eventi che desideri ricevere o specifica “TUTTI” per ricevere tutti gli eventi:

    [
    "ALL"
    ]
  9. Esegui il 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: sostituisci a VoiceKinesis il nome del tuo set di configurazione.

  10. Per testare la configurazione, utilizza l'operazione API V2 SendVoiceMessage per inviare un messaggio vocale di Amazon Pinpoint. L'evento viene visualizzato nel bucket Amazon S3 che hai configurato quando hai creato il flusso di consegna Firehose dopo alcuni minuti.