Sdílet prostřednictvím


Referenční informace k rozhraní API MQTT 5 roviny dat ioT Hubu (zastaralé)

Tento dokument definuje operace dostupné ve verzi 2.0 (api-version: 2020-10-01-preview) rozhraní API roviny dat ioT Hubu.

Poznámka:

Podpora MQTT 5 ve službě IoT Hub je zastaralá a IoT Hub má omezenou podporu funkcí pro MQTT. Pokud vaše řešení potřebuje podporu MQTT v3.1.1 nebo v5, doporučujeme podporu MQTT ve službě Azure Event Grid. Další informace najdete v tématu Porovnání podpory MQTT ve službě IoT Hub a Event Gridu.

Operace

Získání dvojčete

Získání stavu dvojčete

Žádost

Název tématu: $iothub/twin/get

Vlastnosti: žádné

Datová část: prázdná

Odpověď na úspěch

Vlastnosti: žádné

Datová část: Dvojče

Alternativní odpovědi

Stav Název Popis
0100 Nesprávná žádost Zpráva operace je poškozená a nelze ji zpracovat.
0101 Neautorizováno Klient nemá oprávnění k provedení operace.
0102 Není povoleno Operace není povolená.
0501 Omezeno Frekvence požadavků je příliš vysoká na skladovou položku.
0502 Překročení kvóty Denní kvóta na aktuální skladovou položku je překročena.
0601 Chyba serveru vnitřní chyba serveru
0602 Timeout vypršel časový limit operace před dokončením
0603 Zaneprázdněný server Server je zaneprázdněn

Ukázka pseudokódu


-> PUBLISH
    QoS: 0
    Topic: $iothub/twin/get
<- PUBLISH
    QoS: 0
    Topic: $iothub/responses

Hlášené dvojče oprav

Nahlášený stav opravy dvojčete

Žádost

Název tématu: $iothub/twin/patch/reported

Vlastnosti:

Name Type Požadováno Popis
if-version u64 ne

Datová část: TwinState

Odpověď na úspěch

Vlastnosti:

Name Type Požadováno Popis
version u64 ano Verze ohlášeného stavu po použití opravy

Datová část: prázdná

Alternativní odpovědi

Stav Název Popis
0104 Předběžná podmínka selhala předběžná podmínka nebyla splněna, což vedlo ke zrušení žádosti
0100 Nesprávná žádost Zpráva operace je poškozená a nelze ji zpracovat.
0101 Neautorizováno Klient nemá oprávnění k provedení operace.
0102 Není povoleno Operace není povolená.
0501 Omezeno Frekvence požadavků je příliš vysoká na skladovou položku.
0502 Překročení kvóty Denní kvóta na aktuální skladovou položku je překročena.
0601 Chyba serveru vnitřní chyba serveru
0602 Timeout vypršel časový limit operace před dokončením
0603 Zaneprázdněný server Server je zaneprázdněn

Ukázka pseudokódu


-> PUBLISH
    QoS: 0
    Topic: $iothub/twin/patch/reported
    [if-version: <u64>]
<- PUBLISH
    QoS: 0
    Topic: $iothub/responses

Přijmout příkazy

Příjem a zpracování příkazů

Zpráva

Název tématu: $iothub/commands

Vlastnosti:

Name Type Požadováno Popis
sequence-no u64 ano Pořadové číslo zprávy
zařazení do fronty čas ano Časové razítko při zadání zprávy do systému
delivery-count u32 ano Počet pokusů o doručení zprávy
čas vytvoření čas ne Časové razítko vytvoření zprávy (poskytnuté odesílatelem)
message-id string ne Identita zprávy (poskytnutá odesílatelem)
ID uživatele string ne Identita uživatele (poskytnutá odesílatelem)
ID korelace string ne Identita korelace (poskytnutá odesílatelem)
Typ obsahu string ne určuje typ obsahu datové části.
kódování obsahu string ne určuje kódování obsahu datové části.

Datová část: libovolná posloupnost bajtů

Potvrzení o úspěchu

Označuje, že příkaz byl přijat pro zpracování klientem.

Vlastnosti: žádné

Datová část: prázdná

Alternativní potvrzení

Kód důvodu Stav Název Popis
131 0603 Opustit Označuje, že příkaz se v tuto chvíli nezpracuje a v budoucnu by se měl znovu zpracovat.
131 0100 Odmítnout Označuje, že klient příkaz odmítl a neměl by se znovu pokoušet.

Ukázka pseudokódu


-> SUBSCRIBE
    - Topic: $iothub/commands
      QoS: 1
<- PUBLISH
    QoS: 1
    Topic: $iothub/commands
    sequence-no: <u64>enqueued-time: <time>delivery-count: <u32>[creation-time: <time>][message-id: <string>][user-id: <string>][correlation-id: <string>][Content Type: <string>][content-encoding: <string>]
    Payload: ...

-> PUBACK

Příjem přímých metod

Příjem a zpracování volání přímé metody

Žádost

Název tématu: $iothub/methods/{name}

Vlastnosti: žádné

Datová část: libovolná posloupnost bajtů

Odpověď na úspěch

Vlastnosti:

Name Type Požadováno Popis
response-code u32 ano

Datová část: libovolná posloupnost bajtů

Alternativní odpovědi

Stav Název Popis
06A0 Neaktivní Označuje, že klient není dostupný prostřednictvím tohoto připojení.

Ukázka pseudokódu


-> SUBSCRIBE
    - Topic: methods/{name}
      QoS: 0
<- SUBACK
<- PUBLISH
    QoS: 0
    Topic: $iothub/methods/{name}
-> PUBLISH
    QoS: 0
    Topic: $iothub/responses

Přijetí změn požadovaného stavu dvojčete

Příjem aktualizací požadovaného stavu dvojčete

Zpráva

Název tématu: $iothub/twin/patch/desired

Vlastnosti:

Name Type Požadováno Popis
version u64 ano Verze požadovaného stavu odpovídající této aktualizaci

Datová část: TwinState

Ukázka pseudokódu


-> SUBSCRIBE
    - Topic: $iothub/twin/patch/desired
      QoS: 0
<- PUBLISH
    QoS: 0
    Topic: $iothub/twin/patch/desired
    version: <u64>
    Payload: ...

Odesílání telemetrie

Publikování zprávy do kanálu telemetrie – Služba Event Hubs je ve výchozím nastavení nebo jiný koncový bod prostřednictvím konfigurace směrování.

Zpráva

Název tématu: $iothub/telemetry

Vlastnosti:

Name Type Požadováno Popis
Typ obsahu string ne překládá na content-type systémovou vlastnost při publikované zprávě.
kódování obsahu string ne překládá na content-encoding systémovou vlastnost při publikované zprávě.
message-id string ne překládá na message-id systémovou vlastnost při publikované zprávě.
ID uživatele string ne překládá na user-id systémovou vlastnost při publikované zprávě.
ID korelace string ne překládá na correlation-id systémovou vlastnost při publikované zprávě.
čas vytvoření čas ne přeloží do iothub-creation-time-utc vlastnosti při publikované zprávě.

Tip

Formát creation-time musí být UTC bez informací o časovém pásmu. Je například 2021-04-21T11:30:16Z platný, 2021-04-21T11:30:16-07:00 je neplatný.

Datová část: libovolná posloupnost bajtů

Potvrzení o úspěchu

Zpráva byla úspěšně publikována do kanálu telemetrie.

Vlastnosti: žádné

Datová část: prázdná

Alternativní potvrzení

Kód důvodu Stav Název Popis
131 0100 Nesprávná žádost Zpráva operace je poškozená a nelze ji zpracovat.
135 0101 Neautorizováno Klient nemá oprávnění k provedení operace.
131 0102 Není povoleno Operace není povolená.
131 0601 Chyba serveru vnitřní chyba serveru
151 0501 Omezeno Frekvence požadavků je příliš vysoká na skladovou položku.
151 0502 Překročení kvóty Denní kvóta na aktuální skladovou položku je překročena.
131 0602 Timeout vypršel časový limit operace před dokončením
131 0603 Zaneprázdněný server Server je zaneprázdněn

Ukázka pseudokódu

-> PUBLISH
    QoS: 1
    Topic: $iothub/telemetry
    [Content Type: <string>]
    [content-encoding: <string>]
    [message-id: <string>]
    [user-id: <string>]
    [correlation-id: <string>]
    [creation-time: <time>]

<- PUBACK

Odpovědi

Nesprávná žádost

Zpráva operace je poškozená a nelze ji zpracovat.

Kód důvodu: 131

Stav: 0100

Vlastnosti:

Name Type Požadováno Popis
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Konflikt

Operace je v konfliktu s jinou probíhající operací.

Kód důvodu: 131

Stav: 0103

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Není povoleno

Operace není povolená.

Kód důvodu: 131

Stav: 0102

Vlastnosti:

Name Type Požadováno Popis
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Neautorizováno

Klient nemá oprávnění k provedení operace.

Kód důvodu: 135

Stav: 0101

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby

Datová část: prázdná

Nenalezeno

požadovaný prostředek neexistuje.

Kód důvodu: 131

Stav: 0504

Vlastnosti:

Name Type Požadováno Popis
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Neupraveno

Zdroj nebyl upraven na základě předpokladu.

Kód důvodu: 0

Stav: 0001

Vlastnosti: žádné

Datová část: prázdná

Předběžná podmínka selhala

Předběžná podmínka nebyla splněna, což vedlo ke zrušení žádosti

Kód důvodu: 131

Stav: 0104

Vlastnosti: žádné

Datová část: prázdná

Překročení kvóty

Denní kvóta na aktuální skladovou položku je překročena.

Kód důvodu: 151

Stav: 0502

Vlastnosti: žádné

Datová část: prázdná

Vyčerpání prostředků

prostředek nemá k dokončení operace žádnou kapacitu.

Kód důvodu: 131

Stav: 0503

Vlastnosti:

Name Type Požadováno Popis
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Zaneprázdněný server

Server je zaneprázdněn

Kód důvodu: 131

Stav: 0603

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby

Datová část: prázdná

Chyba serveru

vnitřní chyba serveru

Kód důvodu: 131

Stav: 0601

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby

Datová část: prázdná

Cíl selhal

Cíl odpověděl, ale odpověď byla neplatná nebo poškozená.

Kód důvodu: 131

Stav: 06A2

Vlastnosti:

Name Type Požadováno Popis
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Časový limit cíle

Vypršel časový limit čekání na dokončení požadavku cílem.

Kód důvodu: 131

Stav: 06A1

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby
reason string ne obsahuje informace o tom, co konkrétně není platné pro zprávu.

Datová část: prázdná

Cíl není k dispozici

Cíl je nedostupný k dokončení požadavku.

Kód důvodu: 131

Stav: 06A0

Vlastnosti: žádné

Datová část: prázdná

Omezeno

Frekvence požadavků je příliš vysoká na skladovou položku.

Kód důvodu: 151

Stav: 0501

Vlastnosti: žádné

Datová část: prázdná

Timeout

vypršel časový limit operace před dokončením

Kód důvodu: 131

Stav: 0602

Vlastnosti:

Name Type Požadováno Popis
trace-id string ne ID trasování pro korelaci s další diagnostikou chyby

Datová část: prázdná