Megosztás a következőn keresztül:


Rövid útmutató: MQTT-üzenetek közzététele és feliratkozás az Event Grid-névtérben az Azure Portallal

Ebben a cikkben az Azure Portalon hajtja végre a következő feladatokat:

  1. Event Grid-névtér létrehozása és MQTT-közvetítő engedélyezése
  2. Alerőforrások, például ügyfelek, ügyfélcsoportok és témakörterek létrehozása
  3. Hozzáférés biztosítása az ügyfelek számára a közzétételhez és a témakörtérre való feliratkozáshoz
  4. Üzenetek közzététele és fogadása ügyfelek között

Előfeltételek

  • Ingyenes Azure-fiók létrehozása, ha nem rendelkezik Azure-előfizetéssel.
  • Mielőtt elkezdené ezt az oktatóanyagot, olvassa el az Event Grid áttekintését , ha még nem ismerkedik az Azure Event Gridszel.
  • Győződjön meg arról, hogy a 8883-as port nyitva van a tűzfalon. Az oktatóanyagban szereplő minta az MQTT protokollt használja, amely a 8883-es porton keresztül kommunikál. Ez a port néhány vállalati és oktatási hálózati környezetben blokkolható.
  • Az ujjlenyomat létrehozásához és az ügyfélkapcsolat hitelesítéséhez X.509-ügyféltanúsítvány szükséges.

Minta ügyféltanúsítvány és ujjlenyomat létrehozása

Ha még nem rendelkezik tanúsítvánnyal, létrehozhat egy mintatanúsítványt a parancssori felület használatával. Fontolja meg a Windows manuális telepítését.

A lépés sikeres telepítése után nyisson meg egy parancssort a felhasználói profil mappájában (Win+R típus: %U Standard kiadás RPROFILE%).

  1. Gyökér- és köztes tanúsítványok létrehozásához futtassa a következő parancsot. Jegyezze meg a jelszót, amelyet a következő lépésben kell használni.

    step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
    
  2. A létrehozott ca-fájlok használatával hozzon létre tanúsítványt az első ügyfél számára. Győződjön meg arról, hogy a parancsban található tanúsítvány- és titkos kulcsfájlok helyes elérési útját használja.

    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. Az ujjlenyomat megtekintéséhez futtassa a Lépés parancsot.

    step certificate fingerprint client1-authn-ID.pem
    
  4. Most hozzon létre egy tanúsítványt a második ügyfél számára.

    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. A második ügyféllel használandó ujjlenyomat megtekintéséhez futtassa a Lépés parancsot.

    step certificate fingerprint client2-authn-ID.pem
    

Névtér létrehozása

  1. Jelentkezzen be az Azure portálra.

  2. A keresősávba írja be az Event Grid-névtereket, majd válassza ki az Event Grid-névtereket a legördülő listából.

    Screenshot of searching for Event Grid namespace on Azure portal.

  3. Az Event Grid-névterek lapon válassza a + Létrehozás lehetőséget az eszköztáron.

  4. A Névtér létrehozása lapon kövesse az alábbi lépéseket:

    1. Válassza ki az Azure-előfizetését.

    2. Válasszon ki egy meglévő erőforráscsoportot, vagy válassza az Új létrehozása lehetőséget, és adja meg az erőforráscsoport nevét.

    3. Adjon meg egy egyedi nevet a névtérnek. A névtér nevének régiónként egyedinek kell lennie, mert egy DNS-bejegyzést jelöl. Ne a képen látható nevet használja. Ehelyett hozzon létre saját nevet – 3–50 karakter hosszúságúnak kell lennie, és csak a-z, A-Z, 0-9 és -.

    4. Válassza ki az Event Grid-névtér helyét. Az Event Grid-névtér jelenleg csak bizonyos régiókban érhető el.

      Screenshot showing Event Grid namespace create flow basics tab.

  5. Válassza a Véleményezés + létrehozás lehetőséget a lap alján.

  6. A Névtér létrehozása lap Véleményezés + létrehozás lapján válassza a Létrehozás lehetőséget.

    Feljegyzés

    A rövid útmutató egyszerűségéhez csak az Alapismeretek lapot fogja használni egy névtér létrehozásához. A hálózat, a biztonság és más beállítások a varázsló más lapjain való konfigurálásának részletes lépéseit a Névtér létrehozása című témakörben találja.

  7. Miután az üzembe helyezés sikeres volt, válassza az Erőforrás megnyitása lehetőséget a névtér Event Grid-névtér áttekintési lapjára való navigáláshoz.

  8. Az Áttekintés lapon láthatja, hogy az MQTT-közvetítő letiltott állapotban van. Az MQTT-közvetítő engedélyezéséhez válassza a Letiltott hivatkozást, amely átirányítja Önt a Konfiguráció lapra.

  9. A Konfiguráció lapon válassza az MQTT-közvetítő engedélyezése lehetőséget, majd az Alkalmaz elemet a beállítások alkalmazásához.

    Screenshot showing Event Grid namespace configuration page to enable MQTT.

Ügyfelek létrehozása

  1. A bal oldali menüben válassza az Ügyfelek lehetőséget az MQTT-közvetítő szakaszban.

  2. Az Ügyfelek lapon válassza az eszköztár + Ügyfél lehetőséget.

    Screenshot of the Clients page with Add button selected.

  3. Az Ügyfél létrehozása lapon adja meg az ügyfél nevét. Az ügyfélneveknek egyedinek kell lenniük egy névtérben.

  4. Az ügyfél-hitelesítés alapértelmezett neve az ügyfélnév. Ebben az oktatóanyagban módosítsa a következőre client1-authn-ID: . Ezt a nevet a CONNECT-csomaghoz hasonlóan Username kell megadnia.

  5. Ebben az oktatóanyagban ujjlenyomatalapú hitelesítést használ. Vegye fel az első ügyféltanúsítvány ujjlenyomatát az elsődleges ujjlenyomatba.

    Screenshot of client 1 configuration.

  6. Másik ügyfél létrehozásához válassza a Létrehozás lehetőséget az eszköztáron.

  7. Ismételje meg a fenti lépéseket egy második, elnevezett client2ügyfél létrehozásához. Módosítsa a hitelesítési nevet úgy, hogy client2-authn-ID a második ügyféltanúsítvány ujjlenyomata szerepeljen az elsődleges ujjlenyomatban.

    Screenshot of client 2 configuration.

    Feljegyzés

    • A gyorsútmutató egyszerűségéhez ujjlenyomat-egyezést fog használni a hitelesítéshez. Az X.509 hitelesítésszolgáltatói tanúsítványlánc ügyfél-hitelesítéshez való használatának részletes lépéseit a tanúsítványláncot használó ügyfél-hitelesítéssel kapcsolatban találja.
    • Emellett az alapértelmezett $all ügyfélcsoportot is használjuk, amely a gyakorlat névterében lévő összes ügyfelet tartalmazza. Ha többet szeretne megtudni az egyéni ügyfélcsoportok ügyfélattribútumok használatával történő létrehozásáról, tekintse meg az ügyfélcsoportokat.

Témakörtér létrehozása

  1. A bal oldali menüben válassza a Témakörhelyek lehetőséget az MQTT-közvetítő szakaszban.

  2. A Témakörhelyek lapon válassza az eszköztár + Témakörterület lehetőséget.

    Screenshot of Topic spaces page with create button selected.

  3. Adja meg a témakörterület nevét a Témakörterület létrehozása lapon.

  4. Válassza a + Témakörsablon hozzáadása lehetőséget.

    Screenshot of Create topic space with the name.

  5. Írja be contosotopics/topic1 a témakörsablont, majd válassza a Létrehozás lehetőséget a témakörtér létrehozásához.

    Screenshot of topic space configuration.

Hozzáférés-vezérlés konfigurálása engedélykötésekkel

  1. A bal oldali menüben válassza az Engedélykötések lehetőséget az MQTT-közvetítő szakaszban.

  2. Az Engedélykötések lapon válassza a + Engedélykötés lehetőséget az eszköztáron.

    Screenshot that shows the Permission bindings page with the Create button selected.

  3. Konfigurálja az engedélykötést az alábbiak szerint:

    1. Adja meg az engedélykötés nevét. Például: contosopublisherbinding.

    2. Az ügyfélcsoport neveként válassza a $all lehetőséget.

    3. A Témakörterület neve mezőben válassza ki az előző lépésben létrehozott témakörterületet.

    4. Adjon engedélyt a Publishernek a témakörterület ügyfélcsoportjának.

      Screenshot showing creation of first permission binding.

  4. Válassza a Létrehozás lehetőséget az engedélykötés létrehozásához.

  5. Hozzon létre még egy engedélykötést (contososubscriberbinding) az eszköztár + Engedélykötés lehetőség kiválasztásával.

  6. Adjon meg egy nevet, és adjon hozzáférést $all ügyfélcsoport előfizetőjének a ContosoTopicSpace-hez az ábrán látható módon.

    Screenshot showing creation of second permission binding.

  7. Válassza a Létrehozás lehetőséget az engedélykötés létrehozásához.

Csatlakozás az ügyfeleket az EG névtérbe az MQTTX-alkalmazással

  1. Az MQTT-üzenetek közzétételéhez/előfizetéséhez bármelyik kedvenc eszközét használhatja. A bemutató céljára a közzététel/feliratkozás az MQTTX alkalmazással jelenik meg, amely innen https://mqttx.app/tölthető le.

    Screenshot showing MQTTX app left rail to add new client.

  2. Ügyfél1 konfigurálása

    • Név mint client1 (ez az érték bármi lehet)

    • Ügyfélazonosító mint client1-session1 (a CONNECT-csomag ügyfélazonosítója az ügyfélkapcsolat munkamenet-azonosítójának azonosítására szolgál)

    • Felhasználónév a következőképpen client1-authn-ID: . Ennek az értéknek meg kell egyeznie az Ügyfélhitelesítési név értékével, amelyet az ügyfél Azure Portalon való létrehozásakor adott meg.

      Fontos

      A felhasználónévnek meg kell egyeznie az ügyfél-hitelesítési névvel az ügyfél metaadataiban.

  3. Frissítse a gazdagép nevét MQTT-állomásnévre a névtér Áttekintés lapján.

    Screenshot showing Event Grid namespace overview page, which has MQTT hostname.

  4. Frissítse a portot a 8883-ra.

  5. Állítsa be az SSL/TLS kapcsolót.

  6. A szolgáltatástanúsítványok érvényesítésének biztosítása érdekében kapcsolja be az SSL Secure kapcsolót BE értékre.

  7. Válassza a Tanúsítvány önaláírtként lehetőséget.

  8. Adja meg az ügyféltanúsítvány-fájl elérési útját.

  9. Adja meg az ügyfélkulcsfájl elérési útját.

  10. A többi beállítás előre definiált alapértelmezett értékekkel is meghagyható.

    Screenshot showing client 1 configuration part 1 on MQTTX app.

  11. Válassza a Csatlakozás az ügyfél MQTT-közvetítőhöz való csatlakoztatásához.

  12. Ismételje meg a fenti lépéseket a második ügyfélügyfél2 csatlakoztatásához a megfelelő hitelesítési adatokkal az ábrán látható módon.

    Screenshot showing client 2 configuration part 1 on MQTTX app.

    Screenshot showing client 2 configuration part 2 on MQTTX app.

Közzététel/feliratkozás az MQTTX-alkalmazással

  1. Az ügyfelek csatlakoztatása után az ügyfél2 esetében válassza az + Új előfizetés gombot.

  2. Adja hozzá contosotopics/topic1 témakörként, és válassza a Megerősítés lehetőséget. A többi mezőt meghagyhatja meglévő alapértelmezett értékekkel.

    Screenshot showing subscription topic configuration on MQTTX app.

  3. Válassza ki az 1 . ügyfelet a bal oldali sínen.

  4. Ügyfél1 esetén az üzenetírási mező tetején írja be contosotopics/topic1 a közzéteendő témakört.

  5. Írjon egy üzenetet. Bármilyen formátumot vagy JSON-t használhat az ábrán látható módon.

  6. Válassza a Küldés gombot.

    Screenshot showing message publishing on the topic in MQTTX app.

  7. Az üzenetet az 1. ügyfélben közzétettként kell tekinteni.

    Screenshot showing message published on the topic in MQTTX app.

  8. Váltás az ügyfél2-re. Ellenőrizze, hogy az ügyfél2 megkapta-e az üzenetet.

    Screenshot showing the message received by the subscribing client on MQTTX app.

Következő lépések