Aracılığıyla paylaş


IoT Hub veri düzlemi MQTT 5 API başvurusu (kullanım dışı)

Bu belge, IoT Hub veri düzlemi API'sinin 2.0 (api-version: 2020-10-01-preview) sürümünde kullanılabilen işlemleri tanımlar.

Not

IoT Hub'da MQTT 5 desteği kullanım dışıdır ve IoT Hub,MQTT için sınırlı özellik desteğine sahiptir. Çözümünüz MQTT v3.1.1 veya v5 desteğine ihtiyaç duyuyorsa Azure Event Grid'de MQTT desteği öneririz. Daha fazla bilgi için bkz . IoT Hub ve Event Grid'de MQTT desteğini karşılaştırma.

Operations

İkiz Al

İkiz durumunu alma

İstek

Konu adı: $iothub/twin/get

Özellikler: hiçbiri

Yük: boş

Başarı Yanıtı

Özellikler: hiçbiri

Yük: İkiz

Alternatif Yanıtlar

Durum Veri Akışı Adı Açıklama
0100 Hatalı İstek İşlem iletisi hatalı biçimlendirilmiş ve işlenemiyor.
0101 Yetkili Değil İstemcinin işlemi gerçekleştirme yetkisi yok.
0102 İzin Verilmez İşleme izin verilmiyor.
0501 Kısıtlandı istek oranı SKU başına çok yüksek
0502 Kota Aşıldı geçerli SKU başına günlük kota aşıldı
0601 Sunucu Hatası iç sunucu hatası
0602 Timeout tamamlanmadan önce işlem zaman aşımına uğradı
0603 Sunucu Meşgul sunucu meşgul

Sahte Kod Örneği


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

Patch Twin Bildirildi

Patch Twin'in bildirilen durumu

İstek

Konu adı: $iothub/twin/patch/reported

Özellikler:

Adı Tür Zorunlu Açıklama
if-version u64 hayır

Payload: TwinState

Başarı Yanıtı

Özellikler:

Adı Tür Zorunlu Açıklama
sürüm u64 evet Düzeltme eki uygulandıktan sonra bildirilen durumun sürümü

Yük: boş

Alternatif Yanıtlar

Durum Veri Akışı Adı Açıklama
0104 Önkoşul Başarısız Oldu önkoşul karşılanmadı ve istek iptal edildi
0100 Hatalı İstek İşlem iletisi hatalı biçimlendirilmiş ve işlenemiyor.
0101 Yetkili Değil İstemcinin işlemi gerçekleştirme yetkisi yok.
0102 İzin Verilmez İşleme izin verilmiyor.
0501 Kısıtlandı istek oranı SKU başına çok yüksek
0502 Kota Aşıldı geçerli SKU başına günlük kota aşıldı
0601 Sunucu Hatası iç sunucu hatası
0602 Timeout tamamlanmadan önce işlem zaman aşımına uğradı
0603 Sunucu Meşgul sunucu meşgul

Sahte Kod Örneği


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

Komutları Alma

Komutları alma ve işleme

İleti

Konu adı: $iothub/commands

Özellikler:

Adı Tür Zorunlu Açıklama
sıralı-hayır u64 evet İletinin sıra numarası
sıralı zaman time evet İletinin sisteme ne zaman girdiği zaman damgası
teslim sayısı u32 evet İleti teslimi deneme sayısı
oluşturma zamanı time hayır İletinin oluşturulduğu zaman damgası (gönderen tarafından sağlanır)
ileti kimliği Dize hayır İleti kimliği (gönderen tarafından sağlanır)
kullanıcı kimliği Dize hayır Kullanıcı kimliği (gönderen tarafından sağlanır)
correlation-id Dize hayır Bağıntı kimliği (gönderen tarafından sağlanır)
İçerik türü Dize hayır yükün İçerik Türünü belirler
içerik kodlama Dize hayır yükün İçerik Kodlamasını belirler

Payload: herhangi bir bayt dizisi

Başarı Onayı

komutun istemci tarafından işlenmek üzere kabul edildiği gösterir

Özellikler: hiçbiri

Yük: boş

Alternatif Bildirimler

Neden Kodu Durum Veri Akışı Adı Açıklama
131 0603 Bırak Komutun şu anda işlenmeyeceğini ve gelecekte yeniden teslim edilmesi gerektiğini gösterir.
131 0100 Reddet İstemcinin komutu reddettiğini ve yeniden denenmemesi gerektiğini gösterir.

Sahte Kod Örneği


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

Doğrudan Yöntemleri Alma

Doğrudan Yöntem çağrılarını alma ve işleme

İstek

Konu adı: $iothub/methods/{name}

Özellikler: hiçbiri

Payload: herhangi bir bayt dizisi

Başarı Yanıtı

Özellikler:

Adı Tür Zorunlu Açıklama
yanıt kodu u32 evet

Payload: herhangi bir bayt dizisi

Alternatif Yanıtlar

Durum Veri Akışı Adı Açıklama
06A0 Kullanılamaz İstemciye bu bağlantı üzerinden ulaşılamıyorsun gösterir.

Sahte Kod Örneği


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

İkiz İstenen Durum Değişikliklerini Alma

İkiz'in istenen durumunda güncelleştirmeleri alma

İleti

Konu adı: $iothub/twin/patch/desired

Özellikler:

Adı Tür Zorunlu Açıklama
sürüm u64 evet Bu güncelleştirmeyle eşleşen istenen durumun sürümü

Payload: TwinState

Sahte Kod Örneği


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

Telemetri Gönder

Telemetri kanalına ileti gönderme - Varsayılan olarak Event Hubs veya yönlendirme yapılandırması aracılığıyla başka bir uç nokta.

İleti

Konu adı: $iothub/telemetry

Özellikler:

Adı Tür Zorunlu Açıklama
İçerik türü Dize hayır gönderilen iletide sistem özelliğine content-type çevrilir
içerik kodlama Dize hayır gönderilen iletide sistem özelliğine content-encoding çevrilir
ileti kimliği Dize hayır gönderilen iletide sistem özelliğine message-id çevrilir
kullanıcı kimliği Dize hayır gönderilen iletide sistem özelliğine user-id çevrilir
correlation-id Dize hayır gönderilen iletide sistem özelliğine correlation-id çevrilir
oluşturma zamanı time hayır gönderilen iletide özelliğine çevrilir iothub-creation-time-utc

İpucu

biçimi creation-time saat dilimi bilgisi olmadan UTC olmalıdır. Örneğin, 2021-04-21T11:30:16Z geçerli, 2021-04-21T11:30:16-07:00 geçersiz.

Payload: herhangi bir bayt dizisi

Başarı Onayı

İleti telemetri kanalına başarıyla gönderilmiştir

Özellikler: hiçbiri

Yük: boş

Alternatif Bildirimler

Neden Kodu Durum Veri Akışı Adı Açıklama
131 0100 Hatalı İstek İşlem iletisi hatalı biçimlendirilmiş ve işlenemiyor.
135 0101 Yetkili Değil İstemcinin işlemi gerçekleştirme yetkisi yok.
131 0102 İzin Verilmez İşleme izin verilmiyor.
131 0601 Sunucu Hatası iç sunucu hatası
151 0501 Kısıtlandı istek oranı SKU başına çok yüksek
151 0502 Kota Aşıldı geçerli SKU başına günlük kota aşıldı
131 0602 Timeout tamamlanmadan önce işlem zaman aşımına uğradı
131 0603 Sunucu Meşgul sunucu meşgul

Sahte Kod Örneği

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

Yanıtlar

Hatalı İstek

İşlem iletisi hatalı biçimlendirilmiş ve işlenemiyor.

Neden Kodu: 131

Durum: 0100

Özellikler:

Adı Tür Zorunlu Açıklama
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Çakışma

İşlem devam eden başka bir işlemle çakışıyor.

Neden Kodu: 131

Durum: 0103

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

İzin Verilmez

İşleme izin verilmiyor.

Neden Kodu: 131

Durum: 0102

Özellikler:

Adı Tür Zorunlu Açıklama
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Yetkili Değil

İstemcinin işlemi gerçekleştirme yetkisi yok.

Neden Kodu: 135

Durum: 0101

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği

Yük: boş

Bulunamadı

istenen kaynak yok

Neden Kodu: 131

Durum: 0504

Özellikler:

Adı Tür Zorunlu Açıklama
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Değiştirilmedi

Sağlanan ön koşula göre kaynak değiştirilmedi.

Neden Kodu: 0

Durum: 0001

Özellikler: hiçbiri

Yük: boş

Önkoşul Başarısız Oldu

Ön koşul karşılanmadı ve istek iptal edildi

Neden Kodu: 131

Durum: 0104

Özellikler: hiçbiri

Yük: boş

Kota Aşıldı

geçerli SKU başına günlük kota aşıldı

Neden Kodu: 151

Durum: 0502

Özellikler: hiçbiri

Yük: boş

Kaynak Tükendi

kaynağın işlemi tamamlamak için kapasitesi yok

Neden Kodu: 131

Durum: 0503

Özellikler:

Adı Tür Zorunlu Açıklama
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Sunucu Meşgul

sunucu meşgul

Neden Kodu: 131

Durum: 0603

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği

Yük: boş

Sunucu Hatası

iç sunucu hatası

Neden Kodu: 131

Durum: 0601

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği

Yük: boş

Hedef Başarısız Oldu

Hedef yanıt verdi, ancak yanıt geçersiz veya hatalı biçimlendirilmiş

Neden Kodu: 131

Durum: 06A2

Özellikler:

Adı Tür Zorunlu Açıklama
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Hedef Zaman Aşımı

hedefin isteği tamamlamasını beklerken zaman aşımına uğradı

Neden Kodu: 131

Durum: 06A1

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği
reason Dize hayır özellikle ileti hakkında geçerli olmayan bilgiler içerir

Yük: boş

Hedef Kullanılamıyor

İsteği tamamlamak için hedefe ulaşılamıyor

Neden Kodu: 131

Durum: 06A0

Özellikler: hiçbiri

Yük: boş

Kısıtlandı

istek oranı SKU başına çok yüksek

Neden Kodu: 151

Durum: 0501

Özellikler: hiçbiri

Yük: boş

Timeout

tamamlanmadan önce işlem zaman aşımına uğradı

Neden Kodu: 131

Durum: 0602

Özellikler:

Adı Tür Zorunlu Açıklama
trace-id Dize hayır hatanın diğer tanılamalarıyla bağıntı için izleme kimliği

Yük: boş