Sdílet prostřednictvím


Rychlý start: Publikování a přihlášení k odběru zpráv MQTT v oboru názvů Event Grid pomocí webu Azure Portal

V tomto článku pomocí webu Azure Portal provedete následující úlohy:

  1. Vytvoření oboru názvů Event Gridu a povolení zprostředkovatele MQTT
  2. Vytváření dílčích prostředků, jako jsou klienti, skupiny klientů a prostory témat
  3. Udělení přístupu klientům k publikování a přihlášení k odběru prostorů témat
  4. Publikování a příjem zpráv mezi klienty

Požadavky

  • Pokud nemáte předplatné Azure, vytvořte si bezplatný účet Azure.
  • Před zahájením tohoto kurzu si přečtěte přehled služby Event Grid, pokud s Azure Event Gridem teprve začínáte.
  • Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka v tomto kurzu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být blokovaný v některých podnikových a vzdělávacích síťových prostředích.
  • K vygenerování kryptografického otisku a ověření připojení klienta potřebujete klientský certifikát X.509.

Generování ukázkového klientského certifikátu a kryptografického otisku

Pokud ještě certifikát nemáte, můžete vytvořit ukázkový certifikát pomocí rozhraní příkazového řádku kroku. Zvažte ruční instalaci pro Windows.

Po úspěšné instalaci kroku byste měli otevřít příkazový řádek ve složce profilu uživatele (Win+R typ %USERPROFILE%).

  1. Pokud chcete vytvořit kořenové a zprostředkující certifikáty, spusťte následující příkaz. Nezapomeňte heslo, které je potřeba použít v dalším kroku.

    step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
    
  2. Pomocí souborů certifikační autority vygenerovaných vytvořte certifikát pro prvního klienta. Ujistěte se, že v příkazu použijete správnou cestu pro soubory certifikátů a tajných kódů.

    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. Pokud chcete zobrazit kryptografický otisk, spusťte příkaz Krok.

    step certificate fingerprint client1-authn-ID.pem
    
  4. Teď vytvořte certifikát pro druhého klienta.

    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. Pokud chcete zobrazit kryptografický otisk, který se má použít s druhým klientem, spusťte příkaz Krok.

    step certificate fingerprint client2-authn-ID.pem
    

Vytvoření oboru názvů

  1. Přihlaste se na portál Azure.

  2. Na panelu hledání zadejte obory názvů Event Gridu a v rozevíracím seznamu vyberte Obory názvů event Gridu.

    Screenshot of searching for Event Grid namespace on Azure portal.

  3. Na stránce Obory názvů event Gridu vyberte na panelu nástrojů možnost + Vytvořit .

  4. Na stránce Vytvořit obor názvů postupujte takto:

    1. Vyberte své předplatné Azure.

    2. Vyberte existující skupinu prostředků nebo vyberte Vytvořit novou a zadejte název skupiny prostředků.

    3. Zadejte jedinečný název oboru názvů. Název oboru názvů musí být jedinečný pro každou oblast, protože představuje položku DNS. Nepoužívejte název zobrazený na obrázku. Místo toho vytvořte vlastní název – musí mít délku 3–50 znaků a obsahovat pouze hodnoty a-z, A-Z, 0-9 a -.

    4. Vyberte umístění pro obor názvů Event Gridu. V současné době je obor názvů Služby Event Grid k dispozici pouze ve vybraných oblastech.

      Screenshot showing Event Grid namespace create flow basics tab.

  5. Vyberte Zkontrolovat a vytvořit v dolní části stránky.

  6. Na kartě Zkontrolovat a vytvořit na stránce Vytvořit obor názvů vyberte Vytvořit.

    Poznámka:

    Pokud chcete rychlý start zachovat jednoduchý, budete k vytvoření oboru názvů používat jenom stránku Základy. Podrobný postup konfigurace sítě, zabezpečení a dalších nastavení na jiných stránkách průvodce najdete v tématu Vytvoření oboru názvů.

  7. Po úspěšném nasazení vyberte Přejít k prostředku a přejděte na stránku Přehled oboru názvů služby Event Grid pro váš obor názvů.

  8. Na stránce Přehled vidíte, že zprostředkovatel MQTT je ve stavu Zakázáno . Pokud chcete povolit zprostředkovatele MQTT, vyberte zakázaný odkaz, přesměruje vás na stránku Konfigurace.

  9. Na stránce Konfigurace vyberte možnost Povolit zprostředkovatele MQTT a pak vyberte Použít , aby se nastavení použilo.

    Screenshot showing Event Grid namespace configuration page to enable MQTT.

Vytváření klientů

  1. V nabídce vlevo vyberte Klienti v části Zprostředkovatele MQTT.

  2. Na stránce Klienti vyberte na panelu nástrojů + Klient.

    Screenshot of the Clients page with Add button selected.

  3. Na stránce Vytvořit klienta zadejte název klienta. Názvy klientů musí být v oboru názvů jedinečné.

  4. Ve výchozím nastavení se název ověřování klienta nastaví na název klienta. Pro účely tohoto kurzu ho změňte na client1-authn-ID. Tento název musíte zahrnout jako Username v paketu CONNECT.

  5. V tomto kurzu použijete ověřování založené na kryptografickém otisku. Do primárního kryptografického otisku zahrňte kryptografický otisk prvního klientského certifikátu.

    Screenshot of client 1 configuration.

  6. Vyberte Vytvořit na panelu nástrojů a vytvořte dalšího klienta.

  7. Opakováním výše uvedených kroků vytvořte druhého klienta s názvem client2. Změňte název ověřování na client2-authn-ID kryptografický otisk druhého klientského certifikátu a vložte ho do primárního kryptografického otisku.

    Screenshot of client 2 configuration.

    Poznámka:

    • Pro zjednodušení rychlého startu použijete pro ověřování shodu kryptografického otisku. Podrobný postup použití řetězu certifikátů certifikační autority X.509 pro ověřování klientů najdete v tématu Ověřování klientů pomocí řetězu certifikátů.
    • Také používáme výchozí $all skupinu klientů, která zahrnuje všechny klienty v oboru názvů pro toto cvičení. Další informace o vytvářenívlastníchch

Vytváření prostorů témat

  1. V nabídce vlevo vyberte v části zprostředkovatele MQTT mezerytématu.

  2. Na stránce Mezery témat vyberte na panelu nástrojů mezeru + Téma.

    Screenshot of Topic spaces page with create button selected.

  3. Zadejte název prostoru tématu na stránce Vytvořit místo tématu.

  4. Vyberte + Přidat šablonu tématu.

    Screenshot of Create topic space with the name.

  5. Zadejte contosotopics/topic1 šablonu tématu a pak výběrem možnosti Vytvořit vytvořte prostor tématu.

    Screenshot of topic space configuration.

Konfigurace řízení přístupu pomocí vazeb oprávnění

  1. V nabídce vlevo vyberte vazby oprávnění v části zprostředkovatele MQTT.

  2. Na stránce Vazby oprávnění vyberte na panelu nástrojů vazbu + Vazba oprávnění.

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

  3. Vazbu oprávnění nakonfigurujte následujícím způsobem:

    1. Zadejte název vazby oprávnění. Například contosopublisherbinding.

    2. Jako název skupiny klientů vyberte $all.

    3. V části Název prostoru tématu vyberte prostor tématu, který jste vytvořili v předchozím kroku.

    4. Udělte vydavateli oprávnění ke skupině klientů v prostoru tématu.

      Screenshot showing creation of first permission binding.

  4. Výběrem možnosti Vytvořit vytvořte vazbu oprávnění.

  5. Vytvořte jednu další vazbu oprávnění (contososubscriberbinding) výběrem + vazba oprávnění na panelu nástrojů.

  6. Zadejte název a přidělte $all odběrateli skupiny klientů přístup k prostoru ContosoTopicSpace, jak je znázorněno.

    Screenshot showing creation of second permission binding.

  7. Výběrem možnosti Vytvořit vytvořte vazbu oprávnění.

Připojení klientů do oboru názvů EG pomocí aplikace MQTTX

  1. Pro publikování a přihlášení k odběru zpráv MQTT můžete použít libovolný z vašich oblíbených nástrojů. Pro demonstrační účely se pomocí aplikace MQTTX, ze které lze stáhnout https://mqttx.app/, se zobrazí publikování nebo přihlášení k odběru .

    Screenshot showing MQTTX app left rail to add new client.

  2. Konfigurace klienta 1 pomocí

    • Název jako client1 (tato hodnota může být cokoli)

    • ID klienta jako client1-session1 (ID klienta v paketu CONNECT se používá k identifikaci ID relace pro připojení klienta).

    • Uživatelské jméno jako client1-authn-ID. Tato hodnota se musí shodovat s hodnotou názvu ověřování klienta, který jste zadali při vytváření klienta na webu Azure Portal.

      Důležité

      Uživatelské jméno musí odpovídat názvu ověřování klienta v metadatech klienta.

  3. Aktualizujte název hostitele na název hostitele MQTT ze stránky Přehled oboru názvů.

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

  4. Aktualizujte port na 8883.

  5. Přepněte SSL/TLS na ZAPNUTO.

  6. Pokud chcete zajistit ověření certifikátu služby, přepněte ssl Secure na ZAPNUTO.

  7. Vyberte certifikátpodepsaný svým držitelem.

  8. Zadejte cestu k souboru certifikátu klienta.

  9. Zadejte cestu k souboru klíče klienta.

  10. Zbytek nastavení je možné nechat s předdefinovanými výchozími hodnotami.

    Screenshot showing client 1 configuration part 1 on MQTTX app.

  11. Vyberte Připojení pro připojení klienta ke zprostředkovateli MQTT.

  12. Opakujte výše uvedené kroky a připojte druhého klienta klienta2 s odpovídajícími ověřovacími informacemi, jak je znázorněno.

    Screenshot showing client 2 configuration part 1 on MQTTX app.

    Screenshot showing client 2 configuration part 2 on MQTTX app.

Publikování a přihlášení k odběru pomocí aplikace MQTTX

  1. Po připojení klientů vyberte u klienta 2 tlačítko + Nové předplatné .

  2. Přidejte contosotopics/topic1 jako téma a vyberte Potvrdit. Ostatní pole můžete ponechat s existujícími výchozími hodnotami.

    Screenshot showing subscription topic configuration on MQTTX app.

  3. Vyberte klienta 1 v levém railu.

  4. U klienta 1 napište nad polem pro psaní zpráv jako téma, contosotopics/topic1 ve které chcete publikovat.

  5. Vytvořte zprávu. Můžete použít libovolný formát nebo JSON, jak je znázorněno.

  6. Vyberte tlačítko Odeslat.

    Screenshot showing message publishing on the topic in MQTTX app.

  7. Zpráva by se měla zobrazit jako publikovaná v klientovi 1.

    Screenshot showing message published on the topic in MQTTX app.

  8. Přepněte na klienta 2. Potvrďte, že klient2 obdržel zprávu.

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

Další kroky