IoT Hub REST

IoT Hub için REST API'leri, IoT Hub'da cihaz, mesajlaşma ve iş hizmetlerinin yanı sıra kaynak sağlayıcısına programlı erişim sunar. Mesajlaşma hizmetlerine Azure’da çalışan bir IoT hizmeti içinden ya da HTTPS isteği gönderip HTTPS yanıtı alabilen herhangi bir uygulama aracılığıyla doğrudan İnternet üzerinden erişebilirsiniz.

Hizmet

  • IoT Hub cihaz ikizlerini yönetmek için bu API'yi kullanın. Cihaz ikizi özelliklerini alıp güncelleştirebilir ve cihazlarda doğrudan yöntemleri çağırabilirsiniz.
  • IoT hub'ının kimlik kayıt defterinde cihaz kimliklerini yönetmek için bu API'leri kullanın.
  • IoT Hub'da İşleri yönetmek için bu API'yi kullanın. bir iş zamanlayabilir, iptal edebilir veya alabilirsiniz.

Tüm görev işlemleri HTTP/1.1 protokol belirtimine uygundur ve her işlem istek hakkında bilgi almak için kullanılabilecek bir x-ms-request-id üst bilgi döndürür. Bu kaynaklara gönderilen isteklerin güvenli olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz. IoT Hub Geliştirici Kılavuzu – Güvenlik güvenlik belirteçlerinin nasıl oluşturulacağıyla ilgili ayrıntılar.

Cihaz İletisi

IoT hub'ına cihazdan buluta iletiler göndermek ve ioT hub'ından buluttan cihaza iletiler almak için bir cihazdan bu API'leri kullanın. Tüm görev işlemleri HTTP/1.1 protokol belirtimine uygundur. Bu kaynaklara gönderilen isteklerin güvenli olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz. IoT Hub Geliştirici Kılavuzu - Güvenlik güvenlik belirteçleri oluşturma hakkında belirli bilgiler için.

Kaynak Sağlayıcısı

IoT Hub kaynaklarınızın dağıtımını yönetmek için bu API'leri kullanın. Bu isteklerin güvenliğini sağlama hakkında bilgi için bkz. Azure REST API Başvurusu.

Ortak parametreler ve üst bilgiler

Aşağıdaki bilgiler IoT Hub ile ilgili tüm görevler için ortaktır:

  • {api-version} öğesini URI'de "2018-06-30" ile değiştirin.

  • {subscription-id} değerini URI'deki abonelik tanımlayıcınızla değiştirin.

  • {resourceGroupName} öğesini IoT hub'ınızı içeren (veya içerecek) kaynak grubu adıyla değiştirin.

  • {IoTHubName} öğesini IoT hub'ınızın adıyla değiştirin.

  • Content-Type üst bilgisini application/json olarak ayarlayın.

  • Yetkilendirme üst bilgisini, IoT Hub güvenlik belirteçlerini kullanma'nın güvenlik belirteçleri bölümünde belirtilen şekilde oluşturulmuş bir SAS belirteci olarak ayarlayın.

  • RFC7232'ye göre, tek bir cihaz kimliği kapsamındaki tüm isteklerde Etag üst bilgisi döndürülür.

  • Tüm PUT/PATCH işlemleri için aşağıdaki üst bilgilerin belirtilmesi gerekir: If-Match = [*|<etag from get>]

  • DELETE işlemleri aşağıdaki üst bilgiyi içerebilir: If-Match = [*|<etag from get>]

ETag'lerin davranışı aşağıda görülebilir:

PUT Kaynak yok Kaynak var
If-Match = "" / yok 201 Oluşturuldu 200 Tamam
If-Match = "*" 412 Önkoşul Başarısız Oldu 200 Tamam
If-Match = "xyz" 412 Önkoşul Başarısız Oldu 200 Tamam / 412 Önkoşul Başarısız Oldu
If-None-Match = "*" 201 Oluşturuldu 412 Önkoşul Başarısız Oldu
DELETE Kaynak yok Kaynak var
If-Match = "" / yok 204 İçerik Yok 200 Tamam
If-Match = "*" 204 İçerik Yok 200 Tamam
If-Match = "xyz" 204 İçerik Yok 200 Tamam / 412 Önkoşul Başarısız Oldu

Zaman uyumsuz çağrılar için:

  • PUT, zaman uyumsuz tüm işlemler için Azure-AsyncOperation üst bilgisiyle oluşturulan 201 ile yanıt verir. Tüm zaman uyumlu (güncelleştirmeler) işlemleri 200 Tamam döndürür.

  • DELETE, konum ve Retry-After üst bilgileriyle kabul edilen 202'nin yanı sıra var olan kaynaklar için Azure-AsyncOperation üst bilgisi döndürür.

  • Konum üst bilgisi işlem sonucunun URL'sini içeriyor

  • Retry-After üst bilgisi saniye cinsinden uygun yeniden deneme aralığını içerir

  • Azure-AsyncOperation üst bilgisi, Zaman uyumsuz işlem sonucu durumunun URL'sini içerir

  • İşlem sonucu URL'sine GET tamamlandığında, özgün işlem zaman uyumlu olarak tamamlanmış gibi tam olarak aynı sonucu oluşturur