Delen via


IoT Hub-gegevensvlak MQTT 5 API-verwijzing (preview)

In dit document worden bewerkingen gedefinieerd die beschikbaar zijn in versie 2.0 (api-versie: 2020-10-01-preview) van ioT Hub-gegevensvlak-API.

Notitie

IoT Hub biedt beperkte functieondersteuning voor MQTT. Als voor uw oplossing MQTT v3.1.1- of v5-ondersteuning nodig is, wordt MQTT-ondersteuning aanbevolen in Azure Event Grid. Zie MQTT-ondersteuning vergelijken in IoT Hub en Event Grid voor meer informatie.

Operations

Dubbel ophalen

Status van dubbel ophalen

Aanvragen

Onderwerpnaam:$iothub/twin/get

Eigenschappen: geen

Nettolading: leeg

Geslaagd antwoord

Eigenschappen: geen

Nettolading: dubbel

Alternatieve antwoorden

-Status Naam Beschrijving
0100 Onjuiste aanvraag Het bewerkingsbericht is ongeldig en kan niet worden verwerkt.
0101 Niet gemachtigd Client is niet gemachtigd om de bewerking uit te voeren.
0102 Niet toegestaan Bewerking is niet toegestaan.
0501 Beperkt aanvraagsnelheid is te hoog per SKU
0502 Quotum overschreden dagelijks quotum per huidige SKU wordt overschreden
0601 Serverfout interne serverfout
0602 Timeout er is een time-out opgetreden voordat de bewerking kon worden voltooid
0603 Server bezet server bezet

Voorbeeld van pseudocode


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

Gerapporteerde patchdubbel

Gerapporteerde status van patchdubbel

Aanvragen

Onderwerpnaam:$iothub/twin/patch/reported

Eigenschappen:

Naam Type Vereist Beschrijving
if-version u64 nee

Payload: TwinState

Geslaagd antwoord

Eigenschappen:

Naam Type Vereist Beschrijving
version u64 ja Versie van gerapporteerde status nadat de patch is toegepast

Nettolading: leeg

Alternatieve antwoorden

-Status Naam Beschrijving
0104 Voorwaarde is mislukt voorwaarde is niet voldaan, waardoor de aanvraag wordt geannuleerd
0100 Onjuiste aanvraag Het bewerkingsbericht is ongeldig en kan niet worden verwerkt.
0101 Niet gemachtigd Client is niet gemachtigd om de bewerking uit te voeren.
0102 Niet toegestaan Bewerking is niet toegestaan.
0501 Beperkt aanvraagsnelheid is te hoog per SKU
0502 Quotum overschreden dagelijks quotum per huidige SKU wordt overschreden
0601 Serverfout interne serverfout
0602 Timeout er is een time-out opgetreden voordat de bewerking kon worden voltooid
0603 Server bezet server bezet

Voorbeeld van pseudocode


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

Opdrachten ontvangen

Opdrachten ontvangen en afhandelen

Bericht

Onderwerpnaam:$iothub/commands

Eigenschappen:

Naam Type Vereist Beschrijving
reeks-nee u64 ja Volgnummer van het bericht
enqueued-time tijd ja Tijdstempel van wanneer het bericht het systeem heeft ingevoerd
leveringsaantal u32 ja Aantal keren dat de bezorging van het bericht is geprobeerd
aanmaaktijd tijd nee Tijdstempel van het moment waarop het bericht is gemaakt (geleverd door de afzender)
message-id tekenreeks nee Berichtidentiteit (geleverd door afzender)
user-id tekenreeks nee Gebruikersidentiteit (geleverd door afzender)
correlatie-id tekenreeks nee Correlatie-identiteit (geleverd door afzender)
Type inhoud tekenreeks nee bepaalt het inhoudstype van de nettolading
inhoudscodering tekenreeks nee bepaalt inhoudscodering van de nettolading

Nettolading: elke bytereeks

Bevestiging van geslaagde bewerking

Geeft aan dat de opdracht is geaccepteerd voor verwerking door de client

Eigenschappen: geen

Nettolading: leeg

Alternatieve bevestigingen

Redencode -Status Naam Beschrijving
131 0603 Afbreken Geeft aan dat de opdracht op dit moment niet wordt verwerkt en in de toekomst opnieuw moet worden verzonden.
131 0100 Afwijzen Geeft aan dat de client de opdracht heeft afgewezen en dat deze niet opnieuw moet worden geprobeerd.

Voorbeeld van pseudocode


-> 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

Directe methoden ontvangen

Directe methode-aanroepen ontvangen en afhandelen

Aanvragen

Onderwerpnaam:$iothub/methods/{name}

Eigenschappen: geen

Nettolading: elke bytereeks

Geslaagd antwoord

Eigenschappen:

Naam Type Vereist Beschrijving
response-code u32 ja

Nettolading: elke bytereeks

Alternatieve antwoorden

-Status Naam Beschrijving
06A0 Niet beschikbaar Geeft aan dat de client niet bereikbaar is via deze verbinding.

Voorbeeld van pseudocode


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

Gewenste statuswijzigingen ontvangen

Updates ontvangen voor de gewenste status van Twin

Bericht

Onderwerpnaam:$iothub/twin/patch/desired

Eigenschappen:

Naam Type Vereist Beschrijving
version u64 ja Versie van de gewenste status die overeenkomt met deze update

Payload: TwinState

Voorbeeld van pseudocode


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

Telemetrie verzenden

Bericht posten naar telemetriekanaal - Event Hubs standaard of een ander eindpunt via routeringsconfiguratie.

Bericht

Onderwerpnaam:$iothub/telemetry

Eigenschappen:

Naam Type Vereist Beschrijving
Type inhoud tekenreeks nee wordt omgezet in content-type systeemeigenschap bij gepost bericht
inhoudscodering tekenreeks nee wordt omgezet in content-encoding systeemeigenschap bij gepost bericht
message-id tekenreeks nee wordt omgezet in message-id systeemeigenschap bij gepost bericht
user-id tekenreeks nee wordt omgezet in user-id systeemeigenschap bij gepost bericht
correlatie-id tekenreeks nee wordt omgezet in correlation-id systeemeigenschap bij gepost bericht
aanmaaktijd tijd nee wordt omgezet in iothub-creation-time-utc eigenschap op gepost bericht

Tip

De notatie moet creation-time UTC zijn zonder tijdzonegegevens. Is bijvoorbeeld 2021-04-21T11:30:16Z geldig, 2021-04-21T11:30:16-07:00 is ongeldig.

Nettolading: elke bytereeks

Bevestiging van geslaagde bewerking

Bericht is gepost naar telemetriekanaal

Eigenschappen: geen

Nettolading: leeg

Alternatieve bevestigingen

Redencode -Status Naam Beschrijving
131 0100 Onjuiste aanvraag Het bewerkingsbericht is ongeldig en kan niet worden verwerkt.
135 0101 Niet gemachtigd Client is niet gemachtigd om de bewerking uit te voeren.
131 0102 Niet toegestaan Bewerking is niet toegestaan.
131 0601 Serverfout interne serverfout
151 0501 Beperkt aanvraagsnelheid is te hoog per SKU
151 0502 Quotum overschreden dagelijks quotum per huidige SKU wordt overschreden
131 0602 Timeout er is een time-out opgetreden voordat de bewerking kon worden voltooid
131 0603 Server bezet server bezet

Voorbeeld van pseudocode

-> 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

Antwoorden

Onjuiste aanvraag

Het bewerkingsbericht is ongeldig en kan niet worden verwerkt.

Redencode:131

Status0100:

Eigenschappen:

Naam Type Vereist Beschrijving
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Conflict

De bewerking is in conflict met een andere lopende bewerking.

Redencode:131

Status0103:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Niet toegestaan

Bewerking is niet toegestaan.

Redencode:131

Status0102:

Eigenschappen:

Naam Type Vereist Beschrijving
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Niet gemachtigd

Client is niet gemachtigd om de bewerking uit te voeren.

Redencode:135

Status0101:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout

Nettolading: leeg

Niet gevonden

aangevraagde resource bestaat niet

Redencode:131

Status0504:

Eigenschappen:

Naam Type Vereist Beschrijving
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Niet gewijzigd

Resource is niet gewijzigd op basis van de opgegeven voorwaarde.

Redencode:0

Status0001:

Eigenschappen: geen

Nettolading: leeg

Voorwaarde is mislukt

Voorwaarde is niet voldaan, waardoor de aanvraag wordt geannuleerd

Redencode:131

Status0104:

Eigenschappen: geen

Nettolading: leeg

Quotum overschreden

dagelijks quotum per huidige SKU wordt overschreden

Redencode:151

Status0502:

Eigenschappen: geen

Nettolading: leeg

Resource uitgeput

resource heeft geen capaciteit om de bewerking te voltooien

Redencode:131

Status0503:

Eigenschappen:

Naam Type Vereist Beschrijving
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Server bezet

server bezet

Redencode:131

Status0603:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout

Nettolading: leeg

Serverfout

interne serverfout

Redencode:131

Status0601:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout

Nettolading: leeg

Doel is mislukt

Doel gereageerd, maar het antwoord is ongeldig of onjuist ingedeeld

Redencode:131

Status06A2:

Eigenschappen:

Naam Type Vereist Beschrijving
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Time-out van doel

er is een time-out opgetreden bij het wachten op het doel om de aanvraag te voltooien

Redencode:131

Status06A1:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout
reason tekenreeks nee bevat informatie over wat specifiek niet geldig is over het bericht

Nettolading: leeg

Doel niet beschikbaar

Het doel is onbereikbaar om de aanvraag te voltooien

Redencode:131

Status06A0:

Eigenschappen: geen

Nettolading: leeg

Beperkt

aanvraagsnelheid is te hoog per SKU

Redencode:151

Status0501:

Eigenschappen: geen

Nettolading: leeg

Timeout

er is een time-out opgetreden voordat de bewerking kon worden voltooid

Redencode:131

Status0602:

Eigenschappen:

Naam Type Vereist Beschrijving
trace-id tekenreeks nee tracerings-id voor correlatie met andere diagnostische gegevens voor de fout

Nettolading: leeg