Come posso accedere ai log di consegna degli argomenti Amazon SNS per i messaggi SMS?

4 minuti di lettura
0

Desidero accedere ai log di consegna degli argomenti di Amazon Simple Notification Service (Amazon SNS) per i messaggi SMS.

Soluzione

Configurazione degli attributi dello stato di consegna degli SMS per Amazon CloudWatch Logs

Nota: in alternativa ai seguenti passaggi della console, puoi configurare lo stato di consegna dei messaggi utilizzando gli SKD AWS o l'Interfaccia della linea di comando AWS (AWS CLI). Se visualizzi dei messaggi di errore quando esegui i comandi dell’Interfaccia della linea di comando (AWS CLI), consulta la sezione Risolvi gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

  1. Apri la console Amazon SNS.

  2. Nel pannello di navigazione, espandi la sezione Dispositivi mobili, quindi scegli Messaggi di testo (SMS).

  3. Nella sezione Preferenze per i messaggi di testo, scegli Modifica.

  4. Espandi la sezione Registrazione dello stato della consegna – opzionale.

  5. Sotto alla voce Frequenza di campionamento di successo, nella casella di testo**%** inserisci 100.

    Nota: la frequenza di successo è la percentuale di messaggi inviati con successo al log.

  6. Nella sezione Ruoli IAM, per il ruolo di servizio, seleziona Crea un nuovo ruolo di servizio, quindi scegli Crea nuovi ruoli. Si aprirà la console AWS Identity and Access Management (IAM).

    Nota: se disponi già di un ruolo IAM con le autorizzazioni corrette, utilizza quel ruolo di servizio selezionando invece Usa un ruolo del servizio esistente.

  7. Nella pagina di richiesta di autorizzazione della console IAM, scegli Consenti.

  8. Dopo essere tornato alla console Amazon SNS, scegli Salva modifiche.

Questa operazione creerà un ruolo IAM per le consegne riuscite e non andate a buon fine con la policy e le relazioni di fiducia per Amazon SNS seguenti.

Ruolo IAM:

arn:aws:iam::1111111111:role/SNSSuccessFeedback

Policy:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:PutMetricFilter",
        "logs:PutRetentionPolicy"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Relazioni di fiducia:

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

Visualizza i log sullo stato della consegna

  1. Apri la console Amazon CloudWatch.

  2. Nel pannello di navigazione, scegli Log, quindi scegli Gruppi di log.

  3. Nella casella di ricerca Filtra, inserisci DirectPublishToPhoneNumber per trovare solo i gruppi di log SMS per Amazon SNS.

    Nota: a seconda dell'operatore telefonico del numero di destinazione possono essere necessarie fino a 72 ore prima che i log di consegna vengano visualizzati nella console Amazon SNS.

    Ad esempio:

    il gruppo di log sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber contiene i log delle consegne riuscite:

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber

    Esempio di log delle consegne riuscite:

    {
      "notification": {
        "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf",
        "timestamp": "2016-06-28 00:40:34.558"
      },
      "delivery": {
        "phoneCarrier": "My Phone Carrier",
        "mnc": 270,
        "destination": "+1XXX5550100",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 310,
        "providerResponse": "Message has been accepted by phone carrier",
        "dwellTimeMs": 599,
        "dwellTimeMsUntilDeviceAck": 1344
      },
      "status": "SUCCESS"
    }

    Il gruppo di log sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber/Failure contiene i log delle consegne non andate a buon fine:

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber/Failure

    Esempio di log delle consegne non andate a buon fine:

    {
      "notification": {
        "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625",
        "timestamp": "2016-06-28 00:40:34.559"
      },
      "delivery": {
        "mnc": 0,
        "destination": "+1XXX5550100",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 0,
        "providerResponse": "Unknown error attempting to reach phone",
        "dwellTimeMs": 1420,
        "dwellTimeMsUntilDeviceAck": 1692
      },
      "status": "FAILURE"
    }
  4. Scegli il gruppo di log SNS che desideri visualizzare.

  5. Nella scheda Flussi di log, scegli un particolare flusso di log per visualizzare i log di consegna degli SMS.

  6. Per vedere lo stato di consegna del tuo messaggio SMS, espandi l'evento del log e controlla providerResponse.

Visualizzazione dei numeri di telefono esclusi

I destinatari possono scegliere di non ricevere messaggi SMS sui propri telefoni dal proprio account AWS. Per ulteriori informazioni, consulta la sezione Richiesta di non ricevere messaggi SMS.

  1. Apri la console Amazon SNS.
  2. Nel pannello di navigazione, espandi la sezione Dispositivi mobili, quindi scegli Messaggi di testo (SMS).
  3. Per visualizzare i numeri di telefono esclusi, vai alla sezione Numeri di telefono esclusi.

Informazioni correlate

Monitoraggio di argomenti Amazon SNS tramite CloudWatch

Impostazione delle preferenze di messaggistica SMS

Visualizzazione dei parametri e dei log Amazon CloudWatch per le consegne di SMS