Sdílet prostřednictvím


Prostory témat ve funkci zprostředkovatele MQTT v Azure Event Gridu

Prostor tématu představuje více témat prostřednictvím sady šablon témat. Šablony témat jsou rozšířením filtrů MQTT, které podporují proměnné spolu se zástupnými cardy MQTT. Každý prostor tématu představuje témata MQTT, která stejná sada klientů potřebuje ke komunikaci.

Prostory témat se používají ke zjednodušení správy řízení přístupu tím, že umožňují udělit přístup k publikování nebo přihlášení k odběru skupiny témat najednou místo správy přístupu pro jednotlivá témata. Pokud chcete publikovat nebo přihlásit k odběru libovolného tématu MQTT, musíte:

  1. Vytvořte prostředek klienta pro každého klienta, který musí komunikovat přes MQTT.
  2. Vytvořte skupinu klientů, která zahrnuje klienty, kteří potřebují přístup k publikování nebo přihlášení k odběru stejného tématu MQTT.
  3. Vytvořte prostor tématu, který obsahuje šablonu tématu, která představuje zamýšlený filtr tématu nebo tématu.
  4. Vytvořte vazbu oprávnění, která skupině klientů udělí přístup k publikování nebo přihlášení k odběru prostoru tématu.

Filtr tématu MQTT:

Filtr témat MQTT je téma MQTT, které může obsahovat zástupné řady pro jeden nebo více jeho segmentů, což umožňuje, aby odpovídalo více tématům MQTT. Slouží ke zjednodušení požadavků předplatného, protože jeden filtr témat může odpovídat více tématům.

Zprostředkovatel MQTT podporuje všechny zástupné cardy MQTT definované specifikací MQTT následujícím způsobem:

  • +: odpovídá jednomu segmentu.
    • Například filtr tématu: "machines/+/alert" odpovídá následujícím tématům:
      • počítače/ temp/alert
      • stroje/ vlhkost / výstraha
  • #: který odpovídá nule nebo více segmentům na konci tématu.
    • Například filtr témat: "machines/#" odpovídá následujícím tématům:
      • Stroje
      • počítače/temp
      • stroje/ vlhkost
      • počítače, temp, výstraha atd.

Další informace ozástupných

Šablony témat

Šablony témat jsou rozšířením filtrů MQTT, které podporují proměnné spolu se zástupnými cardy MQTT. Konfigurace prostorů témat také poskytuje podrobné řízení přístupu tím, že umožňuje řídit autorizaci jednotlivých klientů v rámci skupiny klientů k publikování nebo přihlášení k odběru vlastního tématu. Přečtěte si další informace o tom, jak šablony témat poskytují podrobné řízení přístupu.

Konfigurace prostoru témat:

Prostory témat můžou seskupit až 10 šablon témat. Šablony témat podporují zástupné znamény MQTT (+ a #) a následující proměnné:

  • ${client.authenticationName}: Tato proměnná představuje název ověřování klienta. Přečtěte si další informace o názvech ověřování klientů.
  • ${client.attributes.x}: Tato proměnná představuje přiřazený atribut klientovi během vytváření/aktualizace klienta, například x, by se rovnal přesnému řetězci klíče atributu. Například pokud má klient atribut, šablona tématu "area/${client.attributes.area}/telemetry" umožňuje publikování pouze klientům s atributem> klienta area:section1 v tématu MQTT area/section1/telemetry. Přečtěte si další informace o atributech klienta.

Poznámka:

  • Témata začínající $ jsou vyhrazena pro interní použití.

  • Proměnná může představovat část segmentu nebo celého segmentu, ale nemůže pokrýt více než jeden segment. Například šablona tématu může obsahovat počítače/${client.authenticationName|. factory1}/temp" odpovídá tématům "machines/machine1.factory1/temp", "machines/machine2.factory1/temp" atd.

  • Šablony témat používají speciální znaky $ a | a ty je potřeba utéct odlišně na základě používaného prostředí. V PowerShellu lze $ uvozit pomocí vozidel/${dollar}telemetrie/#. Pokud používáte PowerShell, můžete utéct těmito speciálními znaky, jak je znázorněno v následujících příkladech:

    • "vehicles/${client.authenticationName|dollar}/#"

    • vehicles/${client.authenticationName"|"dollar}/#

Konfigurace webu Azure Portal:

Pomocí následujících kroků vytvořte prostor tématu:

  • Na webu Azure Portal přejděte do svého oboru názvů.
  • V části Mezery témat vyberte +Téma Mezera.
  • Přiřaďte název k prostoru tématu.

Poznámka:

  • Název prostoru tématu může mít délku 3 až 50 znaků.
  • Název prostoru tématu může obsahovat alfanumerické znaky, pomlčky(-) a bez mezer.
  • Vyberte +Přidat šablonu tématu aspoň jednu šablonu tématu.
  • Vyberte Vytvořit.

Snímek obrazovky s konfigurací prostoru tématu

Konfigurace Azure CLI:

K vytvoření prostoru tématu použijte následující příkazy:

az eventgrid namespace topic-space create -g myRG --namespace-name myNS -n myTopicSpace --topic-templates ['segment1/+/segment3/${client.authenticationName}', "segment1/${client.attributes.attribute1}/segment3/#"]

Poznámka:

Rozšíření aktualizací konfigurace prostoru témat může trvat několik minut.

Další kroky:

Další informace o autorizaci a ověřování:

Rychlý start:

Koncepty: