Comment puis-je accéder aux journaux de diffusion des rubriques Amazon SNS pour les notifications push ?

Date de la dernière mise à jour : 28/06/2021

Je souhaite accéder aux journaux de diffusion des rubriques Amazon Simple Notification Service (Amazon SNS) pour les notifications push.

Brève description

Avant d'effectuer les étapes suivantes, vérifiez que vous utilisez des points de terminaison SNS pris en charge par Amazon SNS pour le statut de diffusion des journaux de messages de notification :

  • HTTP et HTTPS
  • Amazon Kinesis Data Firehose
  • AWS Lambda
  • Point de terminaison d'application de plateforme
  • Amazon Simple Queue Service (Amazon SQS)
  • SMS

Remarque : si vous recevez des erreurs lors de l'exécution de commandes à partir de l'AWS Command Line Interface (AWS CLI), assurez-vous d'utiliser la version la plus récente d'AWS CLI.

Solution

Configurer les attributs du statut de diffusion de notification push pour Amazon CloudWatch Logs

Remarque : au lieu de suivre les étapes de console suivantes, vous pouvez configurer le statut de diffusion des messages à l'aide des kits SDK AWS ou d'AWS CLI.

1.    Ouvrez la console Amazon SNS.

2.    Ouvrez le menu de navigation, développez Mobile, puis sélectionnez Push notifications (Notifications push).

3.    Dans la section Platform applications, sélectionnez l'application de plateforme pour laquelle vous souhaitez obtenir le statut de diffusion.

4.    Sélectionnez Edit (Modifier).

5.    Développez Delivery status logging – optional (Journalisation des statuts de diffusion – facultatif).

6.    Pour Success sample rate (Taux de réussite de l'échantillonnage), dans la zone de texte %, saisissez 100.

7.    Dans la section IAM roles (Rôles IAM), pour le rôle Service, sélectionnez Create new service role (Créer un rôle de service), puis Create new roles (Créer des rôles). La console AWS Identity and Access Management (IAM) s'ouvre.

Remarque : si vous disposez déjà d'un rôle IAM comportant les autorisations appropriées, vous pouvez alors utiliser ce rôle de service en sélectionnant Use existing service role (Utiliser le rôle de service existant).

8.    Dans la page de demande d'autorisation de la console IAM, sélectionnez Allow (Autoriser).

9.    Une fois de retour dans la console Amazon SNS, sélectionnez Save changes (Enregistrer les modifications).

Désormais, un rôle IAM est créé pour les diffusions réussies et échouées avec la stratégie et les relations de confiance suivantes pour Amazon SNS. Reportez-vous aux exemples suivants :

Rôle IAM pour les diffusions réussies :

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

Rôle IAM pour les diffusions échouées :

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

Stratégie :

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

Relations de confiance :

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

Afficher les journaux des statuts de diffusion

1.    Ouvrez la console Amazon CloudWatch.

2.    Dans le panneau de navigation, développez Logs (Journaux), puis sélectionnez Log groups (Groupes de journaux).

3.    Dans le champ Filter (Filtre), saisissez sns pour rechercher uniquement les groupes de journaux d'Amazon SNS.

Le groupe de journaux sns/your-AWS-region/your-account_ID/app/platform_name/application_name contient les journaux de diffusions réussies.

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

Le groupe de journaux sns/your-AWS-region/your-account_ID/app/platform_name/application_name /Failure contient les journaux de diffusions échouées :

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

4.    Sélectionnez le groupe de journaux Amazon SNS que vous souhaitez afficher.

5.    Dans l'onglet Log streams (Flux de journaux), sélectionnez un flux de journalisation particulier pour afficher les journaux de diffusion du point de terminaison de l'application.

Tenez compte des éléments suivants :

  • Vous ne pouvez pas ajouter de préfixe aux flux dans CloudWatch Logs.
  • Vous ne pouvez pas modifier directement le nom du groupe de journaux par défaut pour Amazon SNS.
  • Le contenu des notifications n'est pas écrit dans vos CloudWatch Logs. En d'autres mots, les journaux de diffusion des rubriques SNS ne consignent pas le contenu des notifications dans CloudWatch, mais n'y écrivent que les métadonnées.
  • Si vous publiez sur une rubrique SNS contenant des points de terminaison SMS et d'application de plateforme, les journaux de statut de diffusion sont toujours alimentés pour ces points de terminaison dans leur groupe de journaux respectif.

Résolution des échecs de notification

Consultez le statusCode (code de statut) du service du fournisseur, tel que FCM ou APN. Pour connaître précisément le message de réponse du fournisseur, affichez la providerResponse (réponse du fournisseur).

Pour obtenir la liste des codes de réponse du service de notification push, consultez Codes de réponse de la plateforme.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?