Come posso configurare la registrazione per i messaggi vocali di Amazon Pinpoint per l'API Amazon Pinpoint SMS and Voice v2?

6 minuti di lettura
0

Voglio monitorare lo stato dei messaggi vocali che invio tramite Amazon Pinpoint. Come posso configurarlo?

Risoluzione

Per registrare lo stato dei messaggi vocali di Amazon Pinpoint, devi prima impostare un set di configurazione e una destinazione dell'evento. Dopo aver impostato la destinazione dell'evento, deve essere mappata al set di configurazione. Ciò consente di ricevere le informazioni di risposta relative ai messaggi vocali inviati tramite Amazon Pinpoint.

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

Per configurare la destinazione di un evento, puoi utilizzare le API di Amazon Pinpoint SMS and Voice Messaging v2 o uno degli SDK AWS.

Nota: la seguente risoluzione si applica solo all'API di messaggistica vocale e SMS di Amazon Pinpoint, versione 2. Per l'API di messaggistica vocale e SMS di Amazon Pinpoint, versione 1, consulta Come si configura la registrazione per i messaggi vocali Amazon Pinpoint per l'API di messaggistica vocale e SMS di Amazon Pinpoint v1?

Configurazione di un argomento Amazon SNS come destinazione di un evento vocale di Amazon Pinpoint

1.    Crea un set di configurazione eseguendo il comando create-configuration-set (pinpoint-sms-voice v2) di AWS CLI:

Nota: puoi sostituire VoiceSNS per il set di configurazione con qualsiasi nome di tua scelta.

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

2.    Sottoscrivi l'endpoint per il quale desideri ricevere i log dei messaggi vocali su un argomento Amazon SNS. L'argomento SNS può essere un argomento nuovo o già esistente. Per le istruzioni, consulta Sottoscrizione di un endpoint a un argomento Amazon SNS.

Nota: per creare un nuovo argomento Amazon SNS tramite AWS CLI, esegui il comando create-topic:

aws sns create-topic --name pinpointsmsvoice

3.    Devi disporre della seguente autorizzazione nella policy di accesso agli argomenti SNS. Ciò consente al servizio vocale SMS di Amazon Pinpoint di consegnare i log:

Importante: sostituisci  con la tua regione AWS. Sostituisci con il tuo ID account AWS. Sostituisci pinpointsmsvoice con il nome del tuo argomento SNS.

{
  "Sid": "pinpointsmsvoice",
  "Effect": "Allow",
  "Principal": {
    "Service": "sms-voice.amazonaws.com"
  },
  "Action": "SNS:Publish",
  "Resource": "arn:aws:<region>:<AccountID>:pinpointsmsvoice"
}

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 "ALL" per ricevere tutti gli eventi come mostrato di seguito.

[
"ALL"
]

5.    Mappa la destinazione dell'evento a configuration-set-name emettendo il seguente comando create-event-destination:

Importante: sostituisci  con la tua regione AWS. Sostituisci con il tuo ID account AWS. Sostituisci pinpointsmsvoice con il nome del tuo argomento 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.    Verifica la configurazione inviando un messaggio vocale Amazon Pinpoint utilizzando l'operazione API SendVoiceMessage v2. Dopo alcuni minuti, l'evento sarà visualizzato nell'endpoint registrato con l'argomento Amazon SNS.

Configurazione di CloudWatch Logs come destinazione di eventi vocali di Amazon Pinpoint

1.    Crea un set di configurazione eseguendo il comando create-configuration-set (pinpoint-sms-voice v2) di AWS CLI:

Nota: puoi sostituire VoiceCW per il set di configurazione con qualsiasi nome di tua scelta.

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

2.    Crea un nuovo gruppo di log di CloudWatch per ricevere i log dei messaggi vocali eseguendo il comando create-log-group:

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

-oppure-

Utilizza un gruppo di log CloudWatch esistente per completare i seguenti passaggi.

3.    Ottieni l'ARN del tuo gruppo di log di CloudWatch effettuando le seguenti operazioni:

Apri la console CloudWatch.

Nel pannello di navigazione a sinistra, scegli Rules (Regole). Quindi, scegli Log groups (Gruppi di log).

Nella colonna Log group (Gruppo di log), scegli il nome del tuo gruppo di log.

Nel riquadro Log group details (Dettagli del gruppo di log), copia il valore dell'ARN. Questo è l'ARN del tuo gruppo di log.

4.    Crea un nuovo ruolo AWS Identity and Access Management (IAM) che il servizio Amazon Pinpoint possa assumere. Per istruzioni, consulta Creazione di un ruolo per un servizio AWS (console) o Creazione di un ruolo per un servizio (AWS CLI). Quando configuri il ruolo, modifica la policy di attendibilità del ruolo in modo che includa la seguente istruzione di autorizzazione nella sezione del principale della policy:

Nota: questa istruzione di autorizzazione consente al servizio sms-voice di assumere il ruolo IAM.

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

5.    Modifica la policy di autorizzazione del ruolo IAM in modo che includa la seguente istruzione di autorizzazione:

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

Nota: questa istruzione di autorizzazione concede le autorizzazioni per chiamare specifiche operazioni API di CloudWatch Logs. Per ulteriori informazioni, consulta Riferimento alle autorizzazioni di CloudWatch Logs.

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

Importante: sostituisci

con la tua regione AWS. Sostituisci con il tuo ID account AWS. Sostituisci con il nome del ruolo IAM.

{
  "IamRoleArn": "arn:aws:iam::<AccountID>:role/<IAM role name>",
  "LogGroupArn": "arn:aws:logs:<region>:<AccountID>:log-group:pinpointsmsvoice:"
}

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 "ALL" per ricevere tutti gli eventi come mostrato di seguito.

[
"ALL"
]

Importante: assicurati di sostituire VoiceCW con il nome del tuo set di configurazione.

8.    Mappa la destinazione dell'evento a configuration-set-name emettendo il seguente 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.    Verifica la configurazione inviando un messaggio vocale Amazon Pinpoint utilizzando l'operazione API SendVoiceMessage v2. Dopo alcuni minuti, l'evento sarà visualizzato nell'endpoint registrato con l'argomento Amazon SNS.

Configurazione di un flusso Kinesis Data Firehose come destinazione di un evento vocale di Amazon Pinpoint

1.    Crea un set di configurazione eseguendo il comando create-configuration-set (pinpoint-sms-voice v2) di AWS CLI:

Nota: puoi sostituire VoiceKinesis per il tuo set di configurazione con qualsiasi nome di tua scelta.

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

2.    Creazione di un flusso di distribuzione Kinesis Data Firehose. Per Destination setting (Impostazione di destinazione), scegli Amazon Simple Storage Service (Amazon S3).

Importante: accetta il ruolo del servizio IAM predefinito. Quindi, copia il nome del ruolo del servizio IAM negli Appunti. Il nome del ruolo è necessario per i seguenti passaggi.

3.    Modifica la policy di autorizzazione del ruolo di servizio IAM in modo che includa la seguente istruzione di autorizzazione nella sezione del principale della policy:

Nota: questa istruzione di autorizzazione consente al servizio sms-voice di assumere il ruolo IAM.

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

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa