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 rychlém startu pomocí webu Azure Portal vytvoříte obor názvů Služby Event Grid s povoleným zprostředkovatelem MQTT, vytvoříte dílčí prostředky, jako jsou klienti, skupiny klientů a prostory témat, udělíte klientům přístup k publikování a přihlášení k odběru prostorů témat a pak publikujete a přijímáte zprávy 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%).
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
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
Pokud chcete zobrazit kryptografický otisk, spusťte příkaz Krok.
step certificate fingerprint client1-authn-ID.pem
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
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ů
Přihlaste se na portál Azure.
Na panelu hledání zadejte obory názvů Event Gridu a v rozevíracím seznamu vyberte Obory názvů event Gridu.
Na stránce Obory názvů event Gridu vyberte na panelu nástrojů možnost + Vytvořit .
Na stránce Vytvořit obor názvů postupujte takto:
Vyberte své předplatné Azure.
Vyberte existující skupinu prostředků nebo vyberte Vytvořit novou a zadejte název skupiny prostředků.
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
-
.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.
Vyberte Zkontrolovat a vytvořit v dolní části stránky.
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ů.
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ů.
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.
Na stránce Konfigurace vyberte možnost Povolit zprostředkovatele MQTT a pak vyberte Použít , aby se nastavení použilo.
Vytváření klientů
V nabídce vlevo vyberte Klienti v části Zprostředkovatele MQTT.
Na stránce Klienti vyberte na panelu nástrojů + Klient.
Na stránce Vytvořit klienta zadejte název klienta. Názvy klientů musí být v oboru názvů jedinečné.
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 jakoUsername
v paketu CONNECT.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.
Vyberte Vytvořit na panelu nástrojů a vytvořte dalšího klienta.
Opakováním výše uvedených kroků vytvořte druhého klienta s názvem
client2
. Změňte název ověřování naclient2-authn-ID
kryptografický otisk druhého klientského certifikátu a vložte ho do primárního kryptografického otisku.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
V nabídce vlevo vyberte v části zprostředkovatele MQTT mezery tématu.
Na stránce Mezery témat vyberte na panelu nástrojů mezeru + Téma.
Zadejte název prostoru tématu na stránce Vytvořit místo tématu.
Zadejte
contosotopics/topic1
šablonu tématu a pak výběrem možnosti Vytvořit vytvořte prostor tématu.
Konfigurace řízení přístupu pomocí vazeb oprávnění
V nabídce vlevo vyberte vazby oprávnění v části zprostředkovatele MQTT.
Na stránce Vazby oprávnění vyberte na panelu nástrojů vazbu + Vazba oprávnění.
Vazbu oprávnění nakonfigurujte následujícím způsobem:
Zadejte název vazby oprávnění. Například
contosopublisherbinding
.Jako název skupiny klientů vyberte $all.
V části Název prostoru tématu vyberte prostor tématu, který jste vytvořili v předchozím kroku.
Udělte vydavateli oprávnění ke skupině klientů v prostoru tématu.
Výběrem možnosti Vytvořit vytvořte vazbu oprávnění.
Vytvořte jednu další vazbu oprávnění (
contososubscriberbinding
) výběrem + vazba oprávnění na panelu nástrojů.Zadejte název a přidělte $all odběrateli skupiny klientů přístup k prostoru ContosoTopicSpace, jak je znázorněno.
Výběrem možnosti Vytvořit vytvořte vazbu oprávnění.
Připojení klientů k oboru názvů EG pomocí aplikace MQTTX
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 .
Vyberte + na navigačním panelu vlevo.
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.
Aktualizujte název hostitele na název hostitele MQTT ze stránky Přehled oboru názvů.
Aktualizujte port na 8883.
Přepněte SSL/TLS na ZAPNUTO.
Pokud chcete zajistit ověření certifikátu služby, přepněte ssl Secure na ZAPNUTO.
Vyberte certifikát jako certifikační autoritu nebo certifikáty podepsané svým držitelem.
Zadejte cestu k souboru certifikátu klienta.
Zadejte cestu k souboru klíče klienta.
Zbytek nastavení je možné nechat s předdefinovanými výchozími hodnotami.
Vyberte Připojit a připojte klienta ke zprostředkovateli MQTT.
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.
Publikování a přihlášení k odběru pomocí aplikace MQTTX
Po připojení klientů vyberte u klienta 2 tlačítko + Nové předplatné .
Přidejte
contosotopics/topic1
jako téma a vyberte Potvrdit. Ostatní pole můžete ponechat s existujícími výchozími hodnotami.Vyberte klienta 1 v levém railu.
U klienta 1 napište nad polem pro psaní zpráv jako téma,
contosotopics/topic1
ve které chcete publikovat.Vytvořte zprávu. Můžete použít libovolný formát nebo JSON, jak je znázorněno.
Vyberte tlačítko Odeslat.
Zpráva by se měla zobrazit jako publikovaná v klientovi 1.
Přepněte na klienta 2. Potvrďte, že klient2 obdržel zprávu.