Salta al contenuto

Come posso accedere ai log delle consegne dei topic di Amazon SNS per le notifiche push?

4 minuti di lettura
0

Desidero accedere ai log delle consegne dei topic di Amazon Simple Notification Service (Amazon SNS) per le notifiche push.

Breve descrizione

Amazon SNS fornisce supporto per registrare lo stato di consegna dei messaggi di notifica push inviati ai topic. Dopo avere configurato gli attributi dello stato di consegna dei messaggi, le voci di log relative a questi messaggi di notifica push vengono inviate ad Amazon CloudWatch Logs. La registrazione dello stato di consegna dei messaggi consente di:

  • Scoprire se un messaggio è stato consegnato all'endpoint di Amazon SNS.
  • Identificare la risposta inviata dall'endpoint di Amazon SNS ad Amazon SNS.
  • Stabilire il tempo di permanenza del messaggio (il tempo che intercorre tra il timestamp di pubblicazione e quello immediatamente antecedente alla consegna a un endpoint di Amazon SNS).

Configura i log dello stato di consegna delle notifiche push

La sezione di seguito spiega come configurare la registrazione dello stato di consegna utilizzando la Console di gestione AWS. Per configurare i log delle consegne dei messaggi, puoi anche utilizzare un AWS SDK o l’Interfaccia della linea di comando AWS (AWS CLI).
Nota: se visualizzi messaggi di errore quando esegui i comandi AWS CLI, consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Completa i seguenti passaggi:

  1. Apri la console Amazon SNS.
  2. Nel menu di navigazione, espandi Dispositivi mobili, quindi scegli Notifiche push.
  3. Nella sezione Applicazioni di piattaforma, seleziona l'applicazione della piattaforma per la quale desideri ricevere lo stato di consegna.
  4. Scegli Modifica.
  5. Registrazione dello stato della consegna - facoltativo.
  6. In Frequenza di campionamento consegne riuscite, inserisci la percentuale di messaggi consegnati correttamente per i quali desideri ricevere Iog di CloudWatch. Per impostazione predefinita, tutte le consegne non riuscite vengono registrate.
  7. Nella sezione Ruoli IAM, per Ruolo del servizio, seleziona Crea un nuovo ruolo del servizio, quindi scegli Crea nuovi ruoli. Si apre la console AWS Identity and Access Management (AWS IAM).
    Nota: se già disponi di un ruolo IAM con le autorizzazioni corrette, puoi utilizzarlo selezionando Usa un ruolo del servizio esistente.
  8. Nella pagina di richiesta di autorizzazione della console IAM, scegli Consenti per concedere ad Amazon SNS l'accesso in scrittura in modo da utilizzare CloudWatch Logs automaticamente.
  9. Dopo essere tornato alla console Amazon SNS, scegli Salva le modifiche.

Vene così creato un ruolo IAM per le consegne riuscite e non riuscite, con le seguenti policy e relazioni di attendibilità per Amazon SNS.

Ruolo IAM per le consegne riuscite:

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

Ruolo IAM per le consegne non riuscite:

arn:aws:iam::1111111111:role/SNSFailureFeedback

Policy:

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

Relazioni di attendibilità:

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

Visualizza i log dello stato di consegna delle notifiche push

  1. Apri la console Amazon CloudWatch.

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

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

  4. Il gruppo di log sns/your-AWS-region/your-account_ID/app/platform_name/application_name contiene i log delle consegne riuscite.

    sns/us-east-1/1111111111/app/GCM/Test1
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2
    sns/us-east-1/1111111111/app/APNS/Test3

    Il gruppo di log sns/your-AWS-region/your-account_ID/app/platform_name/application_name**/Failure** contiene i log delle consegne non riuscite:

    sns/us-east-1/1111111111/app/GCM/Test1/Failure
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2/Failure
    sns/us-east-1/1111111111/app/APNS/Test3/Failure
  5. Scegli il gruppo di log di Amazon SNS che desideri visualizzare.

  6. Nella scheda Flussi di log, scegli uno specifico flusso di log per visualizzare i log delle consegne relativi agli endpoint dell'applicazione.

  7. Per verificare lo stato di consegna del messaggio, espandi l'evento del log e seleziona providerResponse. Per un elenco dei codici di risposta del servizio di notifica push, consulta Codici di risposta della piattaforma.

Informazioni correlate

Come faccio a risolvere gli errori di notifica push ai dispositivi mobili con FCM (Firebase Cloud Messaging) in Amazon SNS?

How do I troubleshoot APNs mobile push notification failures in Amazon SNS? (Come posso risolvere gli errori di notifica push ai dispositivi mobili con APN (Apple Push Notification) in Amazon SNS?)

Attributi dell'app mobile Amazon SNS