Delen via


IoT Hub REST

De REST API's voor IoT Hub bieden programmatische toegang tot het apparaat, de berichten- en taakservices, evenals de resourceprovider, in IoT Hub. U hebt toegang tot berichtenservices vanuit een IoT-service die in Azure wordt uitgevoerd, of rechtstreeks via internet vanuit elke toepassing die een HTTPS-aanvraag kan verzenden en een HTTPS-antwoord kan ontvangen.

Service

  • Gebruik deze API om IoT Hub apparaatdubbels te beheren. U kunt eigenschappen van apparaatdubbels ophalen en bijwerken en directe methoden op apparaten aanroepen.
  • Gebruik deze API's om apparaatidentiteiten te beheren in het identiteitsregister van een IoT-hub.
  • Gebruik deze API om taken in IoT Hub te beheren. U kunt een baan plannen, annuleren of een baan krijgen.

Alle taakbewerkingen voldoen aan de HTTP/1.1-protocolspecificatie en elke bewerking retourneert een x-ms-request-id header die kan worden gebruikt om informatie over de aanvraag te verkrijgen. U dient ervoor te zorgen dat de aanvragen die naar deze resources worden verzonden, beveiligd zijn. Zie IoT Hub Developer Guide - Security (Handleiding voor ontwikkelaars: beveiliging) voor meer informatie over het maken van beveiligingstokens.

Apparaatberichten

Gebruik deze API's van een apparaat om apparaat-naar-cloud-berichten te verzenden naar een IoT-hub en cloud-naar-apparaat-berichten te ontvangen van een IoT-hub. Alle taakbewerkingen voldoen aan de HTTP/1.1-protocolspecificatie. U dient ervoor te zorgen dat de aanvragen die naar deze resources worden verzonden, beveiligd zijn. Zie IoT Hub Developer Guide - Security voor specifieke informatie over het maken van beveiligingstokens voor meer informatie.

Resourceprovider

Gebruik deze API's om de implementatie van uw IoT Hub resources te beheren. Zie Naslaginformatie over Azure REST API voor informatie over het beveiligen van deze aanvragen.

Algemene parameters en headers

De volgende informatie is gemeenschappelijk voor alle taken met betrekking tot IoT Hub:

  • Vervang {api-version} door '2018-06-30' in de URI.

  • Vervang {subscription-id} door uw abonnements-id in de URI.

  • Vervang {resourceGroupName} door de naam van de resourcegroep die uw IoT-hub bevat (of gaat bevatten).

  • Vervang {IoTHubName} door de naam van uw IoT-hub.

  • Stel de header Content-Type in op application/json.

  • Stel de autorisatieheader in op een SAS-token dat is gemaakt zoals opgegeven in de sectie beveiligingstokens van IoT Hub beveiligingstokens gebruiken.

  • De Etag-header wordt geretourneerd in alle aanvragen die zijn gericht op één apparaat-id, volgens RFC7232.

  • Voor alle PUT-/PATCH-bewerkingen moeten de volgende headers worden opgegeven: If-Match = [*|<etag from get>]

  • DELETE-bewerkingen kunnen de volgende header bevatten: If-Match = [*|<etag from get>]

Hieronder ziet u het gedrag voor ETags:

PUT Resource bestaat niet Resource bestaat
If-Match = "" / afwezig 201 Gemaakt 200 OK
If-Match = "*" 412 Voorwaarde is mislukt 200 OK
If-Match = "xyz" 412 Voorwaarde is mislukt 200 OK / 412 Voorwaarde is mislukt
If-None-Match = "*" 201 Gemaakt 412 Voorwaarde is mislukt
DELETE Resource bestaat niet Resource bestaat
If-Match = "" / afwezig 204 Geen inhoud 200 OK
If-Match = "*" 204 Geen inhoud 200 OK
If-Match = "xyz" 204 Geen inhoud 200 OK / 412 Voorwaarde is mislukt

Voor asynchrone aanroepen:

  • PUT reageert met 201 Gemaakt met Azure-AsyncOperation-header voor asynchrone bewerkingen. Alle synchrone bewerkingen (updates) retourneren 200 OK.

  • DELETE retourneert 202 Geaccepteerd met locatie- en Retry-After-headers, evenals Azure-AsyncOperation koptekst voor bestaande resources.

  • Locatiekoptekst bevat URL voor het bewerkingsresultaat

  • Retry-After header bevat het juiste interval voor opnieuw proberen in seconden

  • Azure-AsyncOperation-header bevat URL voor de resultaatstatus van de Asynchrone bewerking

  • Na voltooiing genereert de GET naar de URL van het bewerkingsresultaat precies hetzelfde resultaat als wanneer de oorspronkelijke bewerking synchroon is voltooid