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

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 messages SMS.

Brève description

Avant d'effectuer les étapes suivantes, vérifiez que vous utilisez des points de terminaison SNS qui prennent en charge le statut de diffusion de journalisation des messages de notification :

  • HTTP(S)
  • 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 SMS 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.    Dans le panneau de navigation, développez Mobile, puis sélectionnez Text messaging (SMS) (Messagerie texte [SMS]).

3.    Dans la section Text messaging preferences (Préférences de messagerie texte), sélectionnez Edit (Modifier).

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

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

Remarque : le taux de réussite est le pourcentage de messages diffusés avec succès vers le journal.

6.    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 avec 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).

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

8.    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 politique et les relations de confiance suivantes pour Amazon SNS.

Rôle IAM :

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

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 la zone de recherche Filter (Filtre), saisissez DirectPublishToPhoneNumber pour rechercher uniquement les groupes de journaux SMS pour Amazon SNS.

Remarque : selon l'opérateur du numéro de téléphone de destination, il peut s'écouler jusqu'à 72 heures avant que les journaux de diffusion n'apparaissent dans la console Amazon SNS.

Par exemple :

Le groupe de journaux sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber contient les journaux de diffusions réussies :

sns/us-east-1/1111111111/DirectPublishToPhoneNumber

Exemples de journaux de diffusions réussies :

{
    "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"
}

Le groupe de journaux sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber/Failure contient les journaux de diffusions qui ont échoué :

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

Exemples de journaux de diffusions qui ont échoué :

{
    "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.    Sélectionnez le groupe de journaux SNS que vous souhaitez afficher.

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

6.    Pour voir le statut de diffusion de votre message SMS, développez l'événement de journalisation et cochez providerResponse.

Afficher les numéros de téléphone désactivés

Les destinataires peuvent désactiver la réception de messages SMS sur leur téléphone à partir de leur compte AWS. Pour plus d'informations, consultez Désactivation de la réception de SMS.

1.    Ouvrez la console Amazon SNS.

2.    Dans le panneau de navigation, développez la section Mobile, puis sélectionnez Text Messaging (SMS) (Messagerie texte [SMS]).

3.    Pour afficher les numéros de téléphone désactivés, accédez à la section Opted-out phone numbers (Numéros de téléphone désactivés).