Dans ce didacticiel, vous allez mettre en place un scénario de messagerie déployé utilisant Amazon Simple Notification Service (SNS) et 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 ceci, nous supposons que vous développez une application cloud native qui envoie un message Amazon SNS à une rubrique à chaque fois qu’une commande est passée sur une boutique en ligne. Les files d’attente Amazon SQS qui sont abonnées à cette rubrique reçoivent chacune une notification identique relative à la nouvelle commande.

Les services AWS que vous utilisez dans ce didacticiel sont compris dans l’offre gratuite d’AWS.

Vous devez disposer d’un compte pour envoyer des notifications d’événements de distribution sur AWS.

Créez un compte gratuit

L’offre gratuite d’AWS inclut 1 000 000 de publications pour Amazon Simple Notification Service et 1 000 000 de demandes d’Amazon Simple Queue Service.

Voir les détails relatifs à l'offre gratuite d'AWS »

 

Lorsque vous cliquez ici, AWS Management Console est lancé 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 une notification dans la barre de recherche et sélectionnez Simple Notification Service pour ouvrir la console de service.

tmt_send-fanout-event-notifications_1a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_1a

a. Si la page d'accueil de la console SNS s'affiche, cliquez sur Pour commencer.

tmt_send-fanout-event-notifications_1b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_1b

Au cours de cette étape, vous créerez une rubrique SNS Amazon. Une rubrique est un canal de communication permettant d’envoyer des messages et de s’abonner à des notifications. Dans cet exemple, une application de commerce électronique enverra un message push à une rubrique SNS Amazon pour chaque nouvelle commande passée sur la boutique en ligne. 


a. Sous Actions courantes, cliquez sur Créer une rubrique.

tmt_send-fanout-event-notifications_2a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_2a

b. La boîte de dialogue Créer une rubrique s’affiche. Dans le champ Nom de la rubrique, saisissez Nouvelles-Commandes, puis cliquez sur Créer une rubrique.

tmt_send-fanout-event-notifications_2b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_2b

c. La page Détails de la rubrique s’affiche.

tmt_send-fanout-event-notifications_2c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_2c

Maintenant que vous avez créé la rubrique avec Amazon SNS, vous devez créer des files d’attente Amazon SQS qui s’abonneront à la rubrique.

Lorsque vous abonnez plusieurs files d’attente à une même rubrique, chacune d’entre elles reçoit des notifications identiques à chaque fois qu’un message est envoyé à cette rubrique. Les services associés à ces files d’attente peuvent ensuite traiter les commandes de manière asynchrone et en parallèle.

Par exemple, une instance de serveur Amazon EC2 attachée à l’une des files d’attente peut gérer le traitement ou l’exécution de la commande tandis que l’autre instance de serveur peut être attachée à un entrepôt de données pour analyser toutes les commandes reçues.

Par souci de simplification, nous n’attacherons pas réellement d’instance EC2 aux files d’attente dans le cadre de ce didacticiel.


a. Cliquez ici pour ouvrir la console Amazon SQS dans une nouvelle fenêtre de navigateur. Si la page d’accueil SQS s’affiche, cliquez sur Pour commencer. Dans le cas contraire, passez à l’étape suivante.

 

tmt_send-fanout-event-notifications_3a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_3a

b. Notre première file d’attente stockera des commandes pour un service d’inventaire fictif qui effectue le suivi des produits et les ajoute au stock ou les en supprime suite à chaque commande, selon les besoins.  

Sur la page Créer une file d’attente, saisissez Commandes-pour-Stock dans le champ Nom de la file d’attente. Laissez le champ File d’attente standard coché, puis cliquez sur Quick-Create file d’attente.

tmt_send-fanout-event-notifications_3b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_3b

c. Votre nouvelle file d’attente est créée et sélectionnée dans la liste des files d’attente. Créer ensuite une seconde file d’attente pour gérer les analyses de commandes.

Cliquez sur Créer une file d’attente pour créer une autre file d’attente qui stockera les commandes pour le Service Analyse.

tmt_send-fanout-event-notifications_3c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_3c

d. Saisissez Commandes-pour-Analyse dans le champ Nom de la file d’attente, puis cliquez sur Quick-Create file d’attente.

tmt_send-fanout-event-notifications_3d

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_3d

e. La nouvelle file d’attente apparaît désormais dans la liste des files d’attente.

tmt_send-fanout-event-notifications_3e

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_3e

Maintenant que vous avez créé vos deux files d’attente Amazon SQS, vous devez les abonner à la rubrique SNS Amazon, qui diffuse les notifications de nouvelles commandes.


a. Dans la liste des files d’attente, sélectionnez les files d’attente Commandes-pour-Stock et Commandes-pour-Analyse. Dans Actions de file d’attente, sélectionnez Abonner les files d’attente à la rubrique SNS.

tmt_send-fanout-event-notifications_4a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_4a

b. La boîte de dialogue S’abonner à une rubrique s’affiche. Dans la liste déroulante Choisir une rubrique, sélectionnez votre rubrique Amazon SNS Nouvelles-Commandes.

Votre rubrique SNS figure dans la liste parce que vous l’avez créée depuis le même compte que celui utilisé pour créer vos files d’attente Amazon SQS. Si la rubrique SNS a été créée par un autre compte, vous pouvez vous abonner à celui-ci en utilisant l’ARN de la rubrique. Pour en savoir plus, consultez la documentation Amazon SNS.

Laissez la Région de la rubrique telle quelle, puis cliquez sur S’abonner.

tmt_send-fanout-event-notifications_4b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_4b

c. La boîte de dialogue Résultat de l’abonnement à la rubrique s’affiche. Cliquez sur OK.

tmt_send-fanout-event-notifications_4c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_4c

Vos files d’attente sont désormais abonnées à la rubrique. Au cours de cette étape, vous allez simuler une nouvelle commande. Pour ce faire, l’application de commerce électronique fictive enverra à la rubrique un message push contenant les détails de la commande.


a. Dans la console Amazon SNS, cliquez sur Rubriques.

 

tmt_send-fanout-event-notifications_5a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_5a

b. Sélectionnez la rubrique Nouvelles-Commandes, puis cliquez sur le bouton Publier dans la rubrique.


tmt_send-fanout-event-notifications_5b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_5b

La page Publier un message s’affiche.

Dans la zone Sujet, saisissez Commande 123-4567890-1234567.

Dans Format du message, sélectionnez Brut.

Dans le champ Message , saisissez le texte suivant pour représenter un exemple de commande :
1 x Widget @ 29,99 USD
2 x Câbles de widget @ 4,99 USD

Cliquez sur Publier le message. Une boîte de dialogue de confirmation s'affiche.

tmt_send-fanout-event-notifications_5c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_5c

Une fois qu’un nouveau message est publié, Amazon SNS tente de le livrer à 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.

Au cours de cette étape, vous confirmerez que les files d’attente ont bien reçu la notification de nouvelle commande en visualisant le message que la rubrique leur a envoyé.


a. Dans la console Amazon SQS, cochez la case de la file d’attente Commandes-pour-Stock dans la liste des files d’attente. Dans la liste déroulante Action de file d’attente, sélectionnez Afficher/Supprimer les messages.

 

tmt_send-fanout-event-notifications_6a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6a

b. Cliquez sur Commencer la recherche de messages.


tmt_send-fanout-event-notifications_6b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6b

c. La boîte de dialogue Afficher/Supprimer les messages dans Commandes-pour-Stock s’affiche.

tmt_send-fanout-event-notifications_6c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6c

d. Dans la colonne Corps, cliquez sur Plus de détails. La zone Détails du message contient un document JSON qui comporte l’objet et le message que vous avez publiés dans la rubrique.

Vous avez confirmé que la file d’attente Commandes-pour-Stock avait reçu la notification de nouvelle commande envoyée par la rubrique Nouvelles-Commandes .

Cliquez sur Fermer.

 

tmt_send-fanout-event-notifications_6d

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6d

e. Nous supposerons que notre service d’inventaire fictif a fini de traiter ce message et que nous pouvons désormais supprimer en toute sécurité le message de la file d’attente. 

Cliquez sur Supprimer 1 message. Pour confirmer, cliquez sur Oui, supprimer les messages cochés. Cliquez ensuite sur Fermer.

 

tmt_send-fanout-event-notifications_6e

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6e

f. Répétez les étapes 6a à 6e pour confirmer que la file d’attente Commandes-pour-Analyse a également reçu la notification de la nouvelle commande.

tmt_send-fanout-event-notifications_6f

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_6f

Au cours de cette étape, vous supprimerez les ressources que vous avez créées dans le cadre de ce didacticiel, à savoir les abonnements aux rubriques, les rubriques et les files d’attente. Il s’agit d’une bonne pratique de supprimer les ressources inutiles afin de ne pas encourir de frais.


a. Ouvrez la console Amazon SNS et cliquez sur Rubriques dans le volet de navigation de gauche.

Sélectionnez la rubrique Nouvelles-Commandes.

Cliquez sur la liste déroulante Actions, puis sélectionnez Supprimer les rubriques.


tmt_send-fanout-event-notifications_7a

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_7a

b. La boîte de dialogue de confirmation Supprimer s’affiche. Cliquez sur Supprimer. La rubrique et ses abonnements sont supprimés. Vous pouvez maintenant fermer la fenêtre du navigateur SNS (mais sans vous déconnecter, car il vous reste encore à supprimer les files d’attente de la console SQS).

 

tmt_send-fanout-event-notifications_7b

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_7b

c. Dans la console Amazon SQS, sélectionnez les files d’attente Commandes-pour-Stock et Commandes-pour-Analyse. Dans la liste déroulante Actions de file d’attente, sélectionnez Supprimer les files d’attente.


tmt_send-fanout-event-notifications_7c

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_7c

d. La boîte de dialogue Supprimer les files d’attente s’affiche. Cliquez sur Oui, supprimer 2 files d’attente. Les files d’attente sont supprimées.

Vous pouvez désormais vous déconnecter de la console Amazon SQS.

tmt_send-fanout-event-notifications_7d

(cliquez pour zoomer)

tmt_send-fanout-event-notifications_7d

Vous avez mis en œuvre un scénario de distribution à l’aide d’Amazon SNS et Amazon SQS. Vous êtes dorénavant prêt à utiliser Amazon SNS et Amazon SQS ensemble pour envoyer des messages aux applications qui exigent une notification immédiate d’un évènement, ou pour mettre ces messages en mémoire tampon dans les files d’attente Amazon SQS afin que d’autres applications puissent les traiter ultérieurement.

 


Maintenant que vous avez appris comment mettre en œuvre les notifications de distribution de messages via Amazon Simple Notification Service et Amazon Simple Queue Service, sélectionnez l’une des options suivantes pour approfondir vos connaissances sur la messagerie cloud sur AWS.

En savoir plus

Obtenez un aperçu des capacités, des composants et des exemples d’utilisation de rubriques de message sur Amazon Web Services (AWS). Visiter la page web Amazon SNS »

Aller plus loin

Découvrez comment activer des applications, des utilisateurs finaux et des périphériques pour envoyer et recevoir instantanément des notifications à partir du cloud. Lire la documentation »

Voir en pratique

Découvrez de quelle façon des clients comme Capital One utilisent Amazon SQS et Amazon SNS pour découpler et mettre à l’échelle des applications. Regarder le webinaire »

Oui
Non