IoT Hub REST

REST-API:erna för IoT Hub ger programmatisk åtkomst till enheten, meddelanden och jobbtjänster samt resursprovidern i IoT Hub. Du kan komma åt meddelandetjänster direkt från en IoT-tjänst som körs i Azure, eller via internet från valfritt program som kan skicka HTTPS-förfrågningar och ta emot HTTPS-svar.

Tjänst

  • Använd det här API:et för IoT Hub hantera enhetstvillingarna. Du kan hämta och uppdatera egenskaper för enhetstvillingarna och anropa direktmetoder på enheter.
  • Använd dessa API:er för att hantera enhetsidentiteter i identitetsregistret för en IoT-hubb.
  • Använd dessa API för att hantera jobb i IoT Hub. Du kan schemalägga, avbryta eller hämta ett jobb.

Alla åtgärder följer protokollspecifikationen HTTP/1.1 och varje åtgärd returnerar ett -huvud som kan användas för att x-ms-request-id hämta information om begäran. Du måste se till att förfrågningarna mot de här resurserna är säkra. Mer information finns i IoT Hub Utvecklarguide – Säkerhet för information om hur du skapar säkerhetstoken.

Enhetsmeddelanden

Använd dessa API:er från en enhet för att skicka "enhet till molnet"-meddelanden till en IoT-hubb och ta emot meddelanden från molnet till enheten från en IoT-hubb. Alla åtgärder följer protokollspecifikationen HTTP/1.1. Du måste se till att förfrågningarna mot de här resurserna är säkra. Mer information finns i IoT Hub - Säkerhet för specifik information om hur du skapar säkerhetstoken.

Resursprovider

Använd dessa API:er för att hantera distributionen av dina IoT Hub resurser. Information om hur du skyddar dessa begäranden finns i Azure REST API Referens.

Vanliga parametrar och sidhuvuden

Följande information är gemensam för alla uppgifter som rör IoT Hub:

  • Ersätt {api-version} med "2018-06-30" i URI:n.

  • Ersätt {subscription-id} med din prenumerations-ID i URI:n.

  • Ersätt {resourceGroupName} med resursgruppens namn som innehåller (eller kommer att innehålla) din IoT-hubb.

  • Ersätt {IoTHubName} med namnet på din IoT-hubb.

  • Ange Content-Type-rubriken till application/json.

  • Ange auktoriseringsrubriken till en SAS-token som skapats enligt vad som anges i avsnittet säkerhetstoken i Använda IoT Hub säkerhetstokens.

  • Etag-huvudet returneras i alla begäranden som är begränsade till en enda enhetsidentitet, enligt RFC7232.

  • Alla PUT/PATCH-åtgärder kräver att följande huvuden anges: If-Match = [*|<etag from get>]

  • DELETE-åtgärder kan innehålla följande huvud: If-Match = [*|<etag from get>]

Beteendet för ETags visas nedan:

PUT Resursen finns inte Resursen finns
If-Match = "" / saknas 201 Skapad 200 OK
If-Match = "*" 412 Förhandsvillkoret misslyckades 200 OK
If-Match = "xyz" 412 Förhandsvillkoret misslyckades 200 OK/412 Förhandsvillkoret misslyckades
If-None-Match = "*" 201 Skapad 412 Förhandsvillkoret misslyckades
DELETE Resursen finns inte Resursen finns
If-Match = "" / saknas 204 Inget innehåll 200 OK
If-Match = "*" 204 Inget innehåll 200 OK
If-Match = "xyz" 204 Inget innehåll 200 OK/412 Förhandsvillkoret misslyckades

För asynkrona anrop:

  • PUT svarar med 201 Skapad med Azure-AsyncOperation rubrik för alla åtgärder som är asynkrona. Alla synkrona (uppdateringar) åtgärder returnerar 200 OK.

  • DELETE returnerar 202 Accepted with Location and Retry-After headers samt Azure-AsyncOperation-huvud för resurser som finns.

  • Platsrubriken innehåller URL:en för åtgärdsresultatet

  • Retry-After-huvudet innehåller lämpligt återförsöksintervall i sekunder

  • Azure-AsyncOperation innehåller URL:en för resultatstatusen för Async-åtgärden

  • När åtgärden har slutförts genererar GET till åtgärdens resultat-URL exakt samma resultat som om den ursprungliga åtgärden hade slutförts synkront