Sdílet prostřednictvím


Klienti MQTT

V tomto článku se dozvíte o konfiguraci klientů MQTT a skupin klientů.

Klienti

Klienti můžou být zařízení nebo aplikace, jako jsou zařízení nebo vozidla, která odesílají a přijímají zprávy MQTT.

Představte si například společnost pro správu vozového parku se stovkami nákladních vozů a dalšími nákladními vozidly. Pomocí odesílání a přijímání zpráv MQTT do/z cloudové služby můžete zlepšit jejich směrování, sledování, bezpečnost ovladačů a předvídatelnou údržbu.

V tomto scénáři je možné vozidla nakonfigurovat jako klienty, kteří publikují nebo odebírají různá témata, jako jsou informace o počasí, podmínky silničního provozu, geografické umístění, výkon motoru a další aspekty opotřebení a slzy vozidla. A při konfiguraci vozidla jako klienta lze také zahrnout do metadat klienta sadu atributů, jako je typ vozidla, rok, vytvoření a model, maximální zatížení atd.

Poznámka:

  • Název klienta může mít délku 1 až 128 znaků.
  • Název klienta může obsahovat alfanumerické znaky, pomlčku(-), dvojtečku (:), tečku(.) a podtržítko(_), bez mezer. Rozlišují se malá a velká písmena a musí být jedinečná pro každý obor názvů.

Klíčové termíny metadat klienta

Název ověřování klienta: Pro klienta můžete zadat jedinečný identifikátor bez omezení pojmenování Azure Resource Manageru. Jedná se o povinné pole a pokud není explicitně zadané, je ve výchozím nastavení nastaveno na název klienta.

V rámci oboru názvů nemůžou mít dva klienti stejný název ověřování. Při ověřování klienta považujeme název ověřování klienta za nerozlišující malá a velká písmena.

Zachováváme původní případ názvu ověřování klienta, který nakonfigurujete v klientovi. Používáme původní název ověřování klienta (rozlišují se malá a velká písmena), který byl poskytnut při vytváření klienta, při rozšiřování směrování, porovnávání prostoru témat atd.

Poznámka:

  • Název ověřování klienta může mít délku 1 až 128 znaků, řetězce UTf-8, bez omezení.
  • V názvu ověřování klienta se rozlišují malá a velká písmena a musí být jedinečný pro jednotlivé obory názvů (při určování jedinečnosti se malá a velká písmena ignorují).

Schéma ověřování pomocí klientského certifikátu: Pokud chcete použít certifikát certifikační autority pro ověřování, můžete zvolit jednu z následujících možností a určit umístění identity klienta v klientském certifikátu. Když se klient pokusí připojit ke službě, služba najde z tohoto pole certifikátu identifikovat klienta a shoduje se s názvem ověřování klienta pro ověření klienta.

Podporujeme pět polí certifikátu:

  • Předmět odpovídá ověřovacímu názvu
  • Dns odpovídá názvu ověřování
  • Identifikátor URI odpovídá názvu ověřování
  • IP adresa odpovídá názvu ověřování
  • E-mail odpovídá názvu ověřování

Při ověřování klienta použijte možnost Shoda kryptografického otisku pomocí certifikátu podepsaného svým držitelem.

Poznámka:

  • ClientCertificateAuthentication se vždy vyžaduje s platnou hodnotou validationScheme.
  • authenticationName není vyžadováno, ale po prvním vytvoření požadavku se hodnota authenticatioName ve výchozím nastavení nastaví na název ARM a pak se nedá aktualizovat.
  • authenticationName nelze aktualizovat.
  • Pokud je validationScheme cokoli jiného než ThumbprintMatch, seznam allowedThumbprints nelze zadat.
  • seznam allowedThumbprints lze zadat pouze a musí být k dispozici, pokud je validationScheme ThumbprintMatch s alespoň jedním kryptografickým otiskem.
  • allowedThumbprints může obsahovat maximálně 2 kryptografické otisky.
  • Povolené hodnoty validationScheme jsou SubjectMatchesAuthenticationName, DnsMatchesAuthenticationName, UriMatchesAuthenticationName, IpMatchesAuthenticationName, EmailMatchesAuthenticationName, ThumbprintMatchch
  • Použití kryptografického otisku s povoleným opětovným použitím stejného certifikátu napříč více klienty U jiných typů ověřování musí být název ověřování ve zvoleném poli klientského certifikátu.

Atributy klienta

Atributy klienta jsou sada párů klíč-hodnota definovaných uživatelem nebo značek, které poskytují informace o klientovi.

Tyto atributy klienta lze použít k vytvoření skupin klientů. Můžete například seskupit všechna vozidla typu částečně do jedné skupiny a všechna vozidla typu pickup-truck do jiné.

Tyto atributy se používají v dotazech skupiny klientů k filtrování sady klientů. Atributy mohou popisovat fyzické nebo funkční charakteristiky klienta. Typickým atributem může být typ klienta.

Tady je příklad:

  • Typ: Hodnoty můžou být "senzor" nebo "termostat" nebo "vozidlo".

Tady je ukázkové schéma pro klienta s definicí atributu:

{  
    "id": "device123",  
    "attributes": {  
        "type": "home-sensors",
        "sensors": ["motion", "noise", "light"]
     }
}

Při konfiguraci atributů klienta zvažte témata, ke kterým klienti publikují (odebírat). Zpětná úvaha od témat k klientům pomáhá snadněji identifikovat podobnosti napříč klientskými rolemi a definovat atributy klienta, aby se zjednodušily seskupování klientů.

Poznámka:

  • Klíče atributů klienta musí být v klientovi jedinečné. Klíče nelze opakovat.
  • Hodnoty atributů klienta mohou být typu string, integer nebo array of strings typy.
  • Celková velikost atributů klienta klienta musí být vždy menší než 4 kB.
  • Název atributu klienta (klíč) může obsahovat pouze alfanumerické znaky a podtržítko(_).

Ukázkové kontrakty

Příklad ověřování klientů na základě řetězu certifikátů

{
    "properties": {
        "authenticationName": "127.0.0.1",
        "state": "Enabled",
        "clientCertificateAuthentication": {
            "validationScheme": "IpMatchesAuthenticationName"
        },
        "attributes": {
            "room": "345",
            "floor": 3,
            "bldg": "17"
        },
        "description": "Description of the client"
    }
}

Příklad ověřování klienta na základě kryptografického otisku certifikátu podepsaného svým držitelem

{
    "properties": {
        "authenticationName": "abcd@domain.com-1",
        "state": "Enabled",
        "clientCertificateAuthentication": {
            "validationScheme": "ThumbprintMatch",
            "allowedThumbprints": ["primary", "secondary"]
        },
        "attributes": {
            "room": "345",
            "floor": "3",
            "bldg": 17
        },
        "description": "Description of the client"
    }
}

Konfigurace webu Azure Portal

Pomocí následujícího postupu vytvořte klienta:

  1. Přechod na obor názvů na webu Azure Portal

  2. V části Klienti vyberte + Klient.

    Screenshot of adding a client.

  3. Zvolte schéma ověřování klientských certifikátů. Další informace o konfiguraci ověřování klientů najdete v článku o ověřování klientů.

  • Přidejte atributy klienta.

    Screenshot of client configuration.

  1. Vyberte příkaz Vytvořit.

Konfigurace Azure CLI

K vytvoření, zobrazení nebo odstranění klienta použijte následující příkazy.

Vytvoření klienta

az eventgrid namespace client create -g myRG --namespace-name myNS -n myClient

Získání klienta

az eventgrid namespace client show -g myRG --namespace-name myNS -n myClient

Odstranění klienta

az eventgrid namespace client delete -g myRG --namespace-name myNS -n myClient

Další kroky