Come posso accedere ai log di consegna degli argomenti di Amazon SNS per le notifiche push?

4 minuti di lettura
0

Desidero accedere ai log di consegna degli argomenti 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 agli argomenti. 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 Amazon SNS.
  • Identificare la risposta inviata dall'endpoint Amazon SNS ad Amazon SNS.
  • Determinare il tempo di dimora del messaggio (il tempo che intercorre tra il timestamp di pubblicazione e quello immediatamente precedente alla trasmissione a un endpoint Amazon SNS).

Configura i log dello stato di consegna delle notifiche push

La sezione seguente spiega come configurare la registrazione dello stato di consegna utilizzando la Console di gestione AWS. Puoi anche utilizzare gli SDK AWS o l’Interfaccia della linea di comando AWS (AWS CLI) per configurare i log di consegna dei messaggi.
Nota: se visualizzi dei messaggi di errore quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. 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 Mobile, 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. Per Frequenza di campionamento di successo, inserisci la percentuale di messaggi completati 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 di servizio, seleziona Crea un nuovo ruolo del servizio, quindi scegli Crea nuovi ruoli. Apri la console AWS Identity and Access Management (IAM).
    Nota: se disponi già di un ruolo IAM con le autorizzazioni corrette, puoi utilizzare quel ruolo di servizio selezionando invece 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 per utilizzare CloudWatch Logs automaticamente.
  9. Dopo essere tornato alla console Amazon SNS, scegli Salva modifiche.

In questo modo, viene 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 riquadro di navigazione, seleziona Log, quindi scegli 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 di consegna riusciti.

    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 di consegna degli errori:

    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 un particolare flusso di log per visualizzare i log di consegna degli 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 la sezione Platform response codes.

Informazioni correlate

Come faccio a risolvere gli errori di notifica push FCM per dispositivi mobili in Amazon SNS?

How do I troubleshoot APNs mobile push notification failures in Amazon SNS?

Mobile app attributes