Dans ce didacticiel, vous allez mettre en place un scénario de messagerie distribuée à l’aide d’Amazon Simple Notification Service (SNS) et d’Amazon Simple Queue Service (SQS). Dans ce scénario, les messages sont envoyés par notification push à plusieurs abonnés, ce qui permet d'éliminer le besoin de vérifier ou rechercher régulièrement des mises à jour et d'autoriser le traitement asynchrone parallèle du message par les abonnés.
Pour illustrer cela, nous allons admettre que nous développons une application cloud native qui envoie un message Amazon SNS à une rubrique lorsqu’une commande est passée sur une boutique en ligne. Les files d’attente Amazon SQS souscrites à la rubrique recevront chacune des notifications identiques pour la nouvelle commande.
Les services AWS que vous utilisez dans ce didacticiel sont inclus dans l'offre gratuite AWS.
L’envoi de notifications d’événements de distribution sur AWS nécessite un compte.
Créer un compte gratuitL’offre gratuite AWS comprend 1 000 000 de publications pour Amazon Simple Notification Service et 1 000 000 de requêtes d’Amazon Simple Queue Service.
Voir les détails relatifs à l'offre gratuite d'AWS »
Lorsque vous cliquez ici, AWS Management Console s’ouvre dans une nouvelle fenêtre du navigateur. Vous pouvez ainsi garder ce guide détaillé ouvert. Lorsque cet écran se charge, saisissez votre nom d'utilisateur et votre mot de passe pour commencer. Saisissez ensuite notification dans la barre de recherche et sélectionnez Simple Notification Service pour ouvrir la console du service.
À cette étape, vous allez créer une rubrique Amazon SNS. Une rubrique correspond à un canal de communication pour envoyer des messages et s’abonner à des notifications. Dans cet exemple, un exemple d’application d’e-commerce va envoyer un message par notification push à une rubrique Amazon SNS dès qu’une nouvelle commande va être passée sur la boutique en ligne.
Maintenant que vous avez créé la rubrique avec Amazon SNS, vous allez créer des files d’attente Amazon SQS qui vont s’abonner à la rubrique.
Lorsque plusieurs files d’attente sont abonnées à une rubrique, chacune reçoit des notifications identiques aux autres dès qu’un message est envoyé à la rubrique. Les services associés à ces files d’attente peuvent alors traiter de manière asynchrone et en parallèle les commandes.
Par exemple, une instance de serveur Amazon EC2 jointe à l’une des files d’attente peut gérer le traitement ou l’expédition de la commande pendant qu’une autre instance de serveur peut être jointe à un entrepôt de données pour analyser toutes les commandes reçues.
Pour que les choses restent simples, nous n’associerons pas d’instances EC2 aux files d’attente dans ce didacticiel.
a. Cliquez ici pour ouvrir la console Amazon SQS dans une nouvelle fenêtre de navigateur. Si la page d'accueil de SQS s'affiche, cliquez sur Pour commencer. Sinon, passez à l’étape suivante.
b. Notre première file d’attente va stocker les commandes pour un service d’inventaire fictif qui va suivre les produits, les ajouter et les supprimer, selon les besoins, de l’inventaire en fonction de chaque commande.
Sur la page Créer une nouvelle file d’attente, saisissez Commandes-pour-inventaire dans le champ Nom de la file d’attente. Laissez File d’attente standard sélectionné et cliquez sur Créer une file d’attente rapide.
c. Votre nouvelle file d'attente est créée et sélectionnée dans la liste des files d'attente. Ensuite, vous allez créer une deuxième file d’attente pour gérer l’analyse des commande.
Cliquez sur Créer une nouvelle file d’attente pour créer une autre file d’attente qui va stocker les commandes pour le service d’analyse.
Maintenant que vous avez créé deux files d’attente Amazon SQS, vous devez les abonner à la rubrique Amazon SNS qui va envoyer les notifications en cas de nouvelles commandes.
b. La boîte de dialogue Abonner à une rubrique s’ouvre alors. À partir du menu déroulant Choisir une rubrique, sélectionnez votre rubrique Amazon SNS Nouvelles-Commandes.
Votre rubrique SNS figure dans la liste, car vous l’avez créée à partir du même compte que celui utilisé pour créer vos files d’attente Amazon SQS. Si la rubrique SNS a été créée à partir d’un autre compte, vous pouvez y effectuer des abonnements à l’aide de l’ARN de la rubrique. Pour plus d'informations, consultez la documentation Amazon SNS.
Ne touchez pas à l’item Région de la rubrique et cliquez sur Abonner.
Vos files d’attente sont désormais abonnées à la rubrique. Lors de cette étape, vous allez simuler une nouvelle commande avec une application d’e-commerce fictive qui envoie à la rubrique un message contenant les détails de la commande.
b. La page Publication de messages sur la rubrique s’affiche. Dans la case Objet, saisissez le numéro de commande 123-4567890-1234567. Dans le champ Message, saisissez le texte suivant pour représenter un exemple de commande :
1x widget à 29,99 USD
2x câbles de widget à 4,99 USD
Cliquez sur Publier le message. Une boîte de dialogue de confirmation s'ouvre.
Dès lors qu’un nouveau message est publié, Amazon SNS envoie ce message à chaque point de terminaison abonné à la rubrique. Dans un scénario de distribution comme celui-ci, les files d’attente Amazon SQS sont les points de terminaison.
Lors de cette étape, vous allez confirmer la réception par les files d’attente de la notification de nouvelle commande en consultant le message envoyé par la rubrique aux files d’attente.
d. Dans la colonne Corps, cliquez sur Plus de détails. La case Détails du message contient un document JSON comportant l’objet et le message publiés dans la rubrique.
Vous avez confirmé que la file d’attente Commandes-pour-inventaire a reçu la notification de la nouvelle commande de la part de la rubrique Nouvelles-commandes.
Cliquez sur Fermer.
e. Nous admettrons que notre service d’inventaire fictif a terminé de traiter le message et que nous pouvons supprimer en toute sécurité le message de la file d’attente.
Cliquez sur Supprimer un message. Pour confirmer, cliquez sur Oui, supprimer les messages cochés. Cliquez ensuite sur Fermer.
Lors de cette étape, vous allez supprimer les ressources créées pour ce didacticiel, ces dernières incluant les abonnements aux rubriques, les rubriques et les files d’attentes. Une bonne pratique consiste à supprimer les ressources que vous n'utilisez plus pour éviter d’encourir des frais.
b. Dans la boîte de dialogue de confirmation Supprimer s’ouvre. Saisissez me supprimer dans la boîte de dialogue et cliquez sur Supprimer. La rubrique et ses abonnements sont supprimés. Vous pouvez alors fermer la fenêtre de navigateur SNS (sans vous déconnecter, car vous devez encore supprimer les files d’attente de la console SQS).
Vous avez mis en place un scénario de distribution en utilisant Amazon SNS et Amazon SQS. Vous êtes désormais en mesure d’utiliser Amazon SNS et Amazon SQS ensemble pour envoyer des messages aux applications qui exigent une notification immédiate en cas d’événement ou pour les faire rester dans une file d'attente Amazon SQS, afin que d'autres applications puissent les traiter ultérieurement.
Maintenant que vous avez appris à mettre en place des notifications de distribution de messages à l’aide d’Amazon Simple Notification Service et d’Amazon Simple Queue Service, sélectionnez l’une des options suivantes pour approfondir votre expérience de la messagerie cloud sur AWS.
En savoir plus
Obtenez une présentation sur les fonctionnalités, composants et cas d'utilisation relatifs aux rubriques et aux messages sur Amazon Web Services (AWS). Visiter la page web Amazon SNS »
Explorer plus en détails
Découvrez comment permettre aux applications, aux utilisateurs finaux et aux appareils d’envoyer et recevoir instantanément des notifications à partir du cloud. Lire la documentation »
Tout voir à l’œuvre
Découvrez comment des clients comme Capital One utilisent Amazon SQS et Amazon SNS pour découpler et dimensionner les applications. Regarder le webinaire »