Partager via


Démarrage rapide : Publier et s’abonner à des messages MQTT sur l’espace de noms Event Grid avec Portail Azure

Dans ce guide de démarrage rapide, vous utilisez le portail Azure pour créer un espace de noms Event Grid avec MQTT broker activé, créer des sous-ressources telles que des clients, des groupes de clients et des espaces de rubrique, octroyer aux clients l’accès nécessaire pour publier et s’abonner aux espaces de rubrique, puis publier et recevoir des messages entre les clients.

Prérequis

  • Créez un compte Azure gratuit si vous n’avez pas d’abonnement Azure.
  • Lisez l’article Vue d’ensemble d’Event Grid avant de commencer ce tutoriel si vous débutez avec Azure Event Grid.
  • Assurez-vous que le port 8883 est ouvert dans votre pare-feu. L’exemple dans ce tutoriel utilise le protocole MQTT, lequel communique sur le port 8883. Ce port pourrait être bloqué dans certains environnements réseau professionnels et scolaires.
  • Vous avez besoin d’un certificat client X.509 pour générer l’empreinte numérique et authentifier la connexion cliente.

Générer un exemple de certificat client et d’empreinte numérique

Si vous n’avez pas encore de certificat, vous pouvez créer un échantillon de certificat à l’aide de Step CLI. Envisagez d’installer manuellement pour Windows.

Une fois l’installation réussie lors de cette étape, vous devez ouvrir une invite de commandes dans le dossier de votre profil utilisateur (Win+R type %USERPROFILE%).

  1. Pour générer des certificats racine et intermédiaires, exécutez la commande suivante. N’oubliez pas le mot de passe à utiliser à l’étape suivante.

    step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
    
  2. Utilisez les fichiers d’autorité de certification générés pour créer un certificat pour le premier client. Assurez-vous d’utiliser le chemin d’accès approprié pour les fichiers de certificat et de secrets dans la commande.

    step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  3. Pour afficher l’empreinte numérique, exécutez la commande Step.

    step certificate fingerprint client1-authn-ID.pem
    
  4. À présent, créez un certificat pour le deuxième client.

    step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  5. Pour afficher l’empreinte numérique à utiliser avec le deuxième client, exécutez la commande Étape.

    step certificate fingerprint client2-authn-ID.pem
    

Créer un espace de noms

  1. Connectez-vous au portail Azure.

  2. Dans la barre de recherche, tapez Event Grid Namespaces, puis sélectionnez Event Grid Namespaces dans la liste déroulante.

    Capture d'écran de la recherche de l'espace de noms Event Grid sur le Portail Azure.

  3. Sur la page Event Grid Namespaces, sélectionnez + Créer dans la barre d’outils.

  4. Dans la page Créer un espace de noms, suivez ces étapes :

    1. Sélectionnez votre abonnement Azure.

    2. Sélectionnez un groupe de ressources existant ou sélectionnez Créer, puis entrez un nom pour le groupe de ressources.

    3. Indiquez un nom unique pour l’espace de noms. Le nom de l’espace de noms doit être unique par région, car il représente une entrée DNS. N’utilisez pas le nom indiqué dans l’image. Au lieu de cela, créez votre propre nom : il doit comprendre entre 3 et 50 caractères, et contenir uniquement des valeurs a-z, A-Z, 0-9 et -.

    4. Sélectionnez un emplacement pour l’espace de noms Event Grid. Actuellement, l’espace de noms Event Grid n’est disponible que dans certaines régions.

      Capture d'écran montrant l'onglet Create flow basics de l'espace de noms Event Grid.

  5. Au bas de la page, sélectionnez Examiner et créer.

  6. Sous l’onglet Vérifier + créer de la page Créer un espace de noms, sélectionnez Créer.

    Notes

    Pour simplifier le démarrage rapide, vous utiliserez uniquement la page Informations de base pour créer un espace de noms. Pour obtenir des informations détaillées sur la configuration du réseau, de la sécurité et d'autres paramètres sur d'autres pages de l'assistant, voir Créer un espace de noms.

  7. Une fois le déploiement terminé, sélectionnez Accéder à la ressource pour voir la page Vue d'ensemble de l'espace de noms Event Grid pour votre espace de noms.

  8. Dans la page Vue d’ensemble, vous voyez que MQTT broker est à l’état Désactivé. Pour activer MQTT broker, sélectionnez le lien Désactivé. Il vous redirige vers la page Configuration.

  9. Dans la page Configuration, sélectionnez l’option Activer MQTT broker, puis sélectionnez Appliquer pour appliquer les paramètres.

    Capture d'écran montrant la page de configuration de l'espace de noms Event Grid pour activer MQTT.

Créer des clients

  1. Dans le menu de gauche, sélectionnez Clients dans la section MQTT broker.

  2. Dans la page Clients, sélectionnez + Client dans la barre d’outils.

    Capture d’écran de la page Clients avec le bouton Ajouter sélectionné.

  3. Dans la page Créer un client, entrez un nom pour le client. Les noms de client doivent être uniques dans un espace de noms.

  4. Le nom d’authentification du client est défini par défaut sur le nom du client. Pour ce didacticiel, remplacez-le par client1-authn-ID. Vous devez inclure ce nom comme Username dans le paquet CONNECT.

  5. Dans ce tutoriel, vous utilisez l’authentification basée sur l’empreinte numérique. Incluez l’empreinte du certificat client dans l’empreinte primaire.

    Capture d’écran de la configuration du client 1.

  6. Sélectionnez Créer dans la barre d’outils pour créer un autre client.

  7. Répétez les étapes ci-dessus pour créer un deuxième client nommé client2. Modifiez le nom d’authentification pour client2-authn-ID et incluez l’empreinte numérique du deuxième certificat client dans l’empreinte primaire.

    Capture d’écran de la configuration du client 2.

    Remarque

    • Pour simplifier le démarrage rapide, vous allez utiliser la correspondance d’empreinte numérique pour l’authentification. Pour obtenir des étapes détaillées sur l’utilisation de la chaîne de certificats de l’autorité de certification X.509 pour l’authentification du client, consultez Authentification client à l’aide de la chaîne de certificats.
    • En outre, nous utilisons le groupe de clients $all par défaut, qui inclut tous les clients de l’espace de noms pour cet exercice. Pour en savoir plus sur la création de groupes de clients personnalisés à l’aide d’attributs client, consultez Groupes de clients.

Créer des espaces de rubrique

  1. Dans le menu de gauche, sélectionnez Espaces de rubrique dans la section MQTT broker.

  2. Dans la page Espaces de rubrique, sélectionnez + Espace de rubrique dans la barre d’outils.

    Capture d’écran de la page Espaces de rubrique avec le bouton de création sélectionné.

  3. Indiquez un nom pour l’espace de rubrique, dans la page Créer un espace de rubrique.

    Capture d’écran de la création d’un espace de rubrique avec le nom.

  4. Entrez contosotopics/topic1 pour le modèle de rubrique, puis sélectionnez Créer pour créer l’espace de rubrique.

    Capture d'écran de la configuration de l'espace de rubrique.

Configuration du contrôle d’accès à l’aide de liaisons d’autorisation

  1. Dans le menu de gauche, sélectionnez Liaisons d’autorisation dans la section MQTT broker.

  2. Dans la page Liaisons d’autorisation, sélectionnez + Liaison d’autorisation dans la barre d’outils.

    Capture d’écran montrant la page Liaisons d’autorisation avec le bouton Créer sélectionné.

  3. Configurez la liaison d’autorisation comme suit :

    1. Donnez un nom à la liaison d’autorisation. Par exemple : contosopublisherbinding.

    2. Pour le nom du groupe client, sélectionnez $all.

    3. Pour le nom de l’espace de rubrique, sélectionnez l’espace de rubrique que vous avez créé à l’étape précédente.

    4. Accordez l’autorisation Éditeur au groupe de clients sur l’espace de rubrique.

      Capture d'écran montrant la création de la première liaison d'autorisation.

  4. Sélectionnez Vérifier + créer pour créer la liaison d’autorisation.

  5. Créez une autre liaison d’autorisation (contososubscriberbinding) en sélectionnant + Liaison d’autorisation dans la barre d’outils.

  6. Fournissez un nom et donnez à $all groupe de clients Abonné l’accès à ContosoTopicSpace comme indiqué.

    Capture d'écran montrant la création de la seconde liaison d'autorisation.

  7. Sélectionnez Vérifier + créer pour créer la liaison d’autorisation.

Connexion des clients à l’espace de noms EG à l’aide de l’application MQTTX

  1. Pour publier/s’abonner aux messages MQTT, vous pouvez utiliser l’un de vos outils favoris. À des fins de démonstration, la publication/l’abonnement s’affiche à l’aide de l’application MQTTX, qui peut être téléchargée à partir de https://mqttx.app/.

  2. Sélectionnez + dans la barre de navigation à gauche.

  3. Configuration de client1

    • Nom comme client1 (cette valeur peut être tout)

    • ID client en tant que client1-session1 (l’ID client dans le paquet CONNECT est utilisé pour identifier l’ID de session pour la connexion cliente)

    • Nom d’utilisateur en tant que client1-authn-ID. Cette valeur doit correspondre à la valeur du nom d’authentification client que vous avez spécifiée lors de la création du client dans le portail Azure.

      Important

      Le nom d’utilisateur doit correspondre au nom d’authentification du client dans les métadonnées du client.

  4. Mettez à jour le nom d’hôte en nom d’hôte MQTT à partir de la page Vue d’ensemble de l’espace de noms.

    Capture d'écran montrant la page de présentation de l'espace de noms Event Grid, qui contient le nom d'hôte MQTT.

  5. Mettre à jour le port à 8883.

  6. Basculez SSL/TLS sur ON.

  7. Basculez SSL Secure sur ON pour garantir la validation du certificat de service.

  8. Pour Certificat, sélectionnez Certificat d’autorité de certification ou certificat auto-signé.

  9. Indiquez le chemin d’accès au fichier de certificat client.

  10. Indiquez le chemin d’accès du fichier de clé client.

  11. Les autres paramètres peuvent être conservés avec des valeurs par défaut prédéfinies.

    Capture d'écran montrant la partie 1 de la configuration du client 1 sur l'application MQTTX.

  12. Sélectionnez Se connecter pour connecter le client répartiteur MQTT.

  13. Répétez les étapes ci-dessus pour connecter le deuxième client client2, avec les informations d’authentification correspondantes, comme indiqué.

    Capture d'écran montrant la partie 1 de la configuration du client 2 sur l'application MQTTX.

    Capture d'écran montrant la partie 2 de la configuration du client 2 sur l'application MQTTX.

Publier/s’abonner à l’aide de l’application MQTTX

  1. Après avoir connecté les clients, pour client2, sélectionnez le bouton + Nouvel abonnement.

  2. Ajoutez contosotopics/topic1 en tant que rubrique, puis sélectionnez Confirmer. Vous pouvez conserver la valeur par défaut de tous les autres champs.

    Capture d'écran montrant la configuration de la rubrique d'abonnement sur l'application MQTTX.

  3. Sélectionnez client1 dans le rail gauche.

  4. Pour client1, en haut de la zone de composition de message, tapez contosotopics/topic1 comme rubrique à publier.

  5. Composez un message. Vous pouvez utiliser n’importe quel format ou JSON comme indiqué.

  6. Sélectionnez le bouton Envoyer.

    Capture d'écran montrant la publication d'un message sur la rubrique dans l'application MQTTX.

  7. Le message doit être affiché comme publié dans le client 1.

    Capture d'écran montrant un message publié sur la rubrique dans l'application MQTTX.

  8. Passez au client2. Vérifiez que client2 a reçu le message.

    Capture d'écran montrant le message reçu par le client abonné sur l'application MQTTX.