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á