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


Témakörterek az Azure Event Grid MQTT-közvetítő funkciójában

A témakörtér több témakört jelöl egy témakörsablonok halmazán keresztül. A témakörsablonok olyan MQTT-szűrők bővítményei, amelyek támogatják a változókat, valamint az MQTT helyettesítő karaktereket. Minden témakörterület azokat az MQTT-témaköröket jelöli, amelyeket ugyanazoknak az ügyfeleknek kell használniuk a kommunikációhoz.

A témakörterek a hozzáférés-vezérlés felügyeletének egyszerűsítésére szolgálnak azáltal, hogy lehetővé teszik, hogy az egyes témakörökhöz való hozzáférés kezelése helyett egyszerre adjon közzétételi vagy előfizetési hozzáférést a témakörök egy csoportjához. Az MQTT-témakörök közzétételéhez vagy előfizetéséhez a következőkre van szükség:

  1. Hozzon létre egy ügyfélerőforrást minden olyan ügyfélhez, akinek MQTT-en keresztül kell kommunikálnia.
  2. Hozzon létre egy ügyfélcsoportot , amely tartalmazza azokat az ügyfeleket, amelyeknek hozzáférésre van szükségük ahhoz, hogy ugyanazon az MQTT-témakörön tegyenek közzé vagy iratkozzanak fel.
  3. Hozzon létre egy témakörteret , amely tartalmaz egy témakörsablont, amely a kívánt témakört/témakörszűrőt jelöli.
  4. Hozzon létre egy engedélykötést, amely hozzáférést biztosít az ügyfélcsoportnak a témakörterület közzétételéhez vagy előfizetéséhez.

MQTT-témakörszűrő:

Az MQTT-témakörszűrők olyan MQTT-témakörök, amelyek egy vagy több szegmenséhez tartalmazhatnak helyettesítő karaktereket, így több MQTT-témakörnek is megfelelhetnek. Az előfizetési kérelmek leegyszerűsítésére szolgál, mivel egy témakörszűrő több témakörnek is megfelelhet.

Az MQTT-közvetítő az MQTT-specifikáció által meghatározott összes MQTT helyettesítő karaktert támogatja az alábbiak szerint:

  • +: amely egyetlen szegmensnek felel meg.
    • Például a témakörszűrő: "gépek/+/riasztás" a következő témaköröknek felel meg:
      • gépek/ideiglenes/riasztás
      • gépek/páratartalom/riasztás
  • #: amely a témakör végén lévő nulla vagy több szegmensnek felel meg.
    • A témakörszűrő például a következő témaköröknek felel meg: "gépek/#"
      • Gépek
      • gépek/ideiglenes
      • gépek/páratartalom
      • gépek/ideiglenes/riasztás stb.

A helyettesítő karakterekről további információt az MQTT-specifikáció témakör helyettesítő karakterei című témakörben talál.

Témakörsablonok

A témakörsablonok olyan MQTT-szűrők bővítményei, amelyek támogatják a változókat, valamint az MQTT helyettesítő karaktereket. A témakörtérkonfiguráció részletes hozzáférés-vezérlést is biztosít azáltal, hogy lehetővé teszi az ügyfélcsoporton belüli egyes ügyfelek engedélyezését a saját témakörének közzétételére vagy előfizetésére. További információ arról, hogy a témakörsablonok hogyan biztosítják a részletes hozzáférés-vezérlést.

Témakörtér konfigurálása:

A Témakörhelyek legfeljebb 10 témakörsablont csoportosíthat. A témakörsablonok támogatják az MQTT helyettesítő karaktereit (+ és #) és a következő változókat:

  • ${client.authenticationName}: ez a változó az ügyfél hitelesítési nevét jelöli. További információ az ügyfél-hitelesítési nevekről.
  • ${client.attributes.x}: ez a változó egy ügyfélhez rendelt attribútumot jelöl az ügyfél létrehozása/frissítése során, például az "x" megegyezik az attribútumkulcs pontos sztringével. Ha például egy ügyfél rendelkezik az attribútummal, a "area/${client.attributes.area}/telemetria" témakörsablon csak a "area:section1" ügyfélattribútummal> rendelkező ügyfelek számára teszi közzé a "area/section1/telemetria" MQTT-témakört. További információ az ügyfélattribútumokról.

Megjegyzés:

  • A $-val kezdődő témakörök belső használatra vannak fenntartva.

  • A változók egy szegmens vagy egy teljes szegmens egy részét jelölhetik, de nem fedhetnek le több szegmenst. Egy témakörsablon például tartalmazhat "machines/${client.authenticationName|. factory1}/temp" a "machines/machine1.factory1/temp", a "machines/machine2.factory1/temp" stb.

  • A témakörsablonok speciális karaktereket használnak $ és | és ezeket a használt héj alapján másképpen kell megmenekíteni. A PowerShellben a $ járművekkel/${dollar}telemetria/#. Ha PowerShellt használ, a következő példákban látható módon elkerülheti ezeket a speciális karaktereket:

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

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

Az Azure Portal konfigurációja:

Témakörtér létrehozásához kövesse az alábbi lépéseket:

  • Lépjen a névtérre az Azure Portalon.
  • A Témakörtér csoportban válassza a +Témakörterület lehetőséget.
  • Rendeljen nevet a témakörterülethez.

Feljegyzés

  • A témakörterület neve 3–50 karakter hosszú lehet.
  • A témakörtér neve tartalmazhat alfanumerikus, kötőjel(-) és szóközöket.
  • Vegyen fel legalább egy témakörsablont a +Témakörsablon hozzáadása lehetőséget választva.
  • Válassza a Létrehozás lehetőséget.

Képernyőkép a témakörtér konfigurációjáról.

Azure CLI-konfiguráció:

Témakörtér létrehozásához használja az alábbi parancsokat:

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

Feljegyzés

A témakörtér konfigurációs frissítéseinek propagálása eltarthat néhány percig.

Következő lépések:

További információ az engedélyezésről és a hitelesítésről:

Rövid útmutató:

Fogalmak: