IoT Hub-dataplanetS MQTT 5 API-referens (inaktuell)
Det här dokumentet definierar åtgärder som är tillgängliga i version 2.0 (api-version: 2020-10-01-preview
) av API för IoT Hub-dataplan.
Kommentar
MQTT 5-stöd i IoT Hub är inaktuellt och IoT Hub har begränsat funktionsstöd för MQTT. Om din lösning behöver stöd för MQTT v3.1.1 eller v5 rekommenderar vi MQTT-stöd i Azure Event Grid. Mer information finns i Jämför MQTT-stöd i IoT Hub och Event Grid.
Operations
Hämta tvilling
Hämta tvillingtillstånd
Förfrågan
Ämnesnamn: $iothub/twin/get
Egenskaper: ingen
Nyttolast: tom
Svar om lyckad åtgärd
Egenskaper: ingen
Nyttolast: Tvilling
Alternativa svar
Status | Name | beskrivning |
---|---|---|
0100 | Felaktig förfrågan | Åtgärdsmeddelandet är felaktigt och kan inte bearbetas. |
0101 | Saknar behörighet | Klienten har inte behörighet att utföra åtgärden. |
0102 | Ej tillåtet | Åtgärden är inte tillåten. |
0501 | Begränsad | begärandefrekvensen är för hög per SKU |
0502 | Kvoten har överskridits | den dagliga kvoten per aktuell SKU överskrids |
0601 | Serverfel | internt serverfel |
0602 | Timeout | tidsgränsen för åtgärden innan den kunde slutföras |
0603 | Servern är upptagen | servern är upptagen |
Exempel på pseudokod
-> PUBLISH
QoS: 0
Topic: $iothub/twin/get
<- PUBLISH
QoS: 0
Topic: $iothub/responses
Korrigeringstvilling rapporterad
Patch Twins rapporterade tillstånd
Förfrågan
Ämnesnamn: $iothub/twin/patch/reported
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
if-version | u64 | nej |
Nyttolast: TwinState
Svar om lyckad åtgärd
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
version | u64 | ja | Version av rapporterat tillstånd efter att korrigeringen har tillämpats |
Nyttolast: tom
Alternativa svar
Status | Name | beskrivning |
---|---|---|
0104 | Förhandsvillkoret misslyckades | förutsättningen inte uppfylldes, vilket ledde till att begäran avbröts |
0100 | Felaktig förfrågan | Åtgärdsmeddelandet är felaktigt och kan inte bearbetas. |
0101 | Saknar behörighet | Klienten har inte behörighet att utföra åtgärden. |
0102 | Ej tillåtet | Åtgärden är inte tillåten. |
0501 | Begränsad | begärandefrekvensen är för hög per SKU |
0502 | Kvoten har överskridits | den dagliga kvoten per aktuell SKU överskrids |
0601 | Serverfel | internt serverfel |
0602 | Timeout | tidsgränsen för åtgärden innan den kunde slutföras |
0603 | Servern är upptagen | servern är upptagen |
Exempel på pseudokod
-> PUBLISH
QoS: 0
Topic: $iothub/twin/patch/reported
[if-version: <u64>]
<- PUBLISH
QoS: 0
Topic: $iothub/responses
Ta emot kommandon
Ta emot och hantera kommandon
Meddelande
Ämnesnamn: $iothub/commands
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
sequence-no | u64 | ja | Sekvensnummer för meddelandet |
enqueued-time | time | ja | Tidsstämpel för när meddelandet kom in i systemet |
leveransantal | u32 | ja | Antal gånger som meddelandeleveransen gjordes |
creation-time | time | nej | Tidsstämpel för när meddelandet skapades (tillhandahålls av avsändaren) |
message-id | sträng | nej | Meddelandeidentitet (tillhandahålls av avsändaren) |
användar-ID | sträng | nej | Användaridentitet (tillhandahålls av avsändaren) |
korrelations-ID | sträng | nej | Korrelationsidentitet (tillhandahålls av avsändaren) |
Innehållstyp | sträng | nej | avgör nyttolastens innehållstyp |
content-encoding | sträng | nej | avgör innehållskodning av nyttolasten |
Nyttolast: alla bytesekvenser
Bekräftelse av lyckad
Anger att kommandot accepterades för hantering av klienten
Egenskaper: ingen
Nyttolast: tom
Alternativa bekräftelser
Orsakskod | Status | Name | beskrivning |
---|---|---|---|
131 | 0603 | Lämna | Anger att kommandot inte bearbetas just nu och bör levereras på nytt i framtiden. |
131 | 0100 | Avvisa | Anger att klienten avvisade kommandot och att det inte ska försökas igen. |
Exempel på pseudokod
-> 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
Ta emot direktmetoder
Ta emot och hantera direktmetodanrop
Förfrågan
Ämnesnamn: $iothub/methods/{name}
Egenskaper: ingen
Nyttolast: alla bytesekvenser
Svar om lyckad åtgärd
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
svarskod | u32 | ja |
Nyttolast: alla bytesekvenser
Alternativa svar
Status | Name | beskrivning |
---|---|---|
06A0 | Inte tillgänglig | Anger att klienten inte kan nås via den här anslutningen. |
Exempel på pseudokod
-> SUBSCRIBE
- Topic: methods/{name}
QoS: 0
<- SUBACK
<- PUBLISH
QoS: 0
Topic: $iothub/methods/{name}
-> PUBLISH
QoS: 0
Topic: $iothub/responses
Ta emot önskade tillståndsändringar för tvilling
Ta emot uppdateringar av tvillingens önskade tillstånd
Meddelande
Ämnesnamn: $iothub/twin/patch/desired
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
version | u64 | ja | Version av önskat tillstånd som matchar den här uppdateringen |
Nyttolast: TwinState
Exempel på pseudokod
-> SUBSCRIBE
- Topic: $iothub/twin/patch/desired
QoS: 0
<- PUBLISH
QoS: 0
Topic: $iothub/twin/patch/desired
version: <u64>
Payload: ...
Skicka telemetri
Skicka meddelande till telemetrikanalen – Event Hubs som standard eller annan slutpunkt via routningskonfiguration.
Meddelande
Ämnesnamn: $iothub/telemetry
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
Innehållstyp | sträng | nej | översätts till content-type systemegenskap vid publicerat meddelande |
content-encoding | sträng | nej | översätts till content-encoding systemegenskap vid publicerat meddelande |
message-id | sträng | nej | översätts till message-id systemegenskap vid publicerat meddelande |
användar-ID | sträng | nej | översätts till user-id systemegenskap vid publicerat meddelande |
korrelations-ID | sträng | nej | översätts till correlation-id systemegenskap vid publicerat meddelande |
creation-time | time | nej | översätts till iothub-creation-time-utc egenskap vid publicerat meddelande |
Dricks
Formatet creation-time
för måste vara UTC utan tidszonsinformation. Är till exempel 2021-04-21T11:30:16Z
giltigt, 2021-04-21T11:30:16-07:00
är ogiltigt.
Nyttolast: alla bytesekvenser
Bekräftelse av lyckad
Meddelandet har publicerats till telemetrikanalen
Egenskaper: ingen
Nyttolast: tom
Alternativa bekräftelser
Orsakskod | Status | Name | beskrivning |
---|---|---|---|
131 | 0100 | Felaktig förfrågan | Åtgärdsmeddelandet är felaktigt och kan inte bearbetas. |
135 | 0101 | Saknar behörighet | Klienten har inte behörighet att utföra åtgärden. |
131 | 0102 | Ej tillåtet | Åtgärden är inte tillåten. |
131 | 0601 | Serverfel | internt serverfel |
151 | 0501 | Begränsad | begärandefrekvensen är för hög per SKU |
151 | 0502 | Kvoten har överskridits | den dagliga kvoten per aktuell SKU överskrids |
131 | 0602 | Timeout | tidsgränsen för åtgärden innan den kunde slutföras |
131 | 0603 | Servern är upptagen | servern är upptagen |
Exempel på pseudokod
-> 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
Svar
Felaktig förfrågan
Åtgärdsmeddelandet är felaktigt och kan inte bearbetas.
Orsakskod: 131
Status: 0100
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Konflikt
Åtgärden står i konflikt med en annan pågående åtgärd.
Orsakskod: 131
Status: 0103
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Ej tillåtet
Åtgärden är inte tillåten.
Orsakskod: 131
Status: 0102
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Saknar behörighet
Klienten har inte behörighet att utföra åtgärden.
Orsakskod: 135
Status: 0101
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
Nyttolast: tom
Hittades inte
begärd resurs finns inte
Orsakskod: 131
Status: 0504
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Har inte ändrats
Resursen ändrades inte baserat på den angivna förhandsvillkoret.
Orsakskod: 0
Status: 0001
Egenskaper: ingen
Nyttolast: tom
Förhandsvillkoret misslyckades
Förhandsvillkoret uppfylldes inte, vilket ledde till att begäran avbröts
Orsakskod: 131
Status: 0104
Egenskaper: ingen
Nyttolast: tom
Kvoten har överskridits
den dagliga kvoten per aktuell SKU överskrids
Orsakskod: 151
Status: 0502
Egenskaper: ingen
Nyttolast: tom
Resursen är uttömd
resursen har ingen kapacitet för att slutföra åtgärden
Orsakskod: 131
Status: 0503
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Servern är upptagen
servern är upptagen
Orsakskod: 131
Status: 0603
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
Nyttolast: tom
Serverfel
internt serverfel
Orsakskod: 131
Status: 0601
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
Nyttolast: tom
Målet misslyckades
Målet svarade men svaret var ogiltigt eller felaktigt
Orsakskod: 131
Status: 06A2
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Tidsgräns för mål
timeout väntar på att målet ska slutföra begäran
Orsakskod: 131
Status: 06A1
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
orsak | sträng | nej | innehåller information om vad som specifikt inte är giltigt för meddelandet |
Nyttolast: tom
Målet är inte tillgängligt
Målet kan inte nås för att slutföra begäran
Orsakskod: 131
Status: 06A0
Egenskaper: ingen
Nyttolast: tom
Begränsad
begärandefrekvensen är för hög per SKU
Orsakskod: 151
Status: 0501
Egenskaper: ingen
Nyttolast: tom
Timeout
tidsgränsen för åtgärden innan den kunde slutföras
Orsakskod: 131
Status: 0602
Egenskaper:
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
spårnings-ID | sträng | nej | spårnings-ID för korrelation med annan diagnostik för felet |
Nyttolast: tom