Aracılığıyla paylaş


IoT Edge aracısının ve IoT Edge hub modül ikizlerinin özellikleri

Şunlar için geçerlidir:IoT Edge 1.5 onay işareti IoT Edge 1.5

Önemli

IoT Edge 1.5 LTS desteklenen sürümdür. IoT Edge 1.4 LTS, 12 Kasım 2024 itibarıyla kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

IoT Edge aracısı ve IoT Edge hub'ı, IoT Edge çalışma zamanını oluşturan iki modülden oluşur. Her çalışma zamanı modülünün sorumlulukları hakkında daha fazla bilgi için bkz. Azure IoT Edge çalışma zamanını ve mimarisini anlama.

Bu makale, çalışma zamanı modülü ikizlerinin istenen özelliklerini ve bildirilen özelliklerini sağlar. IoT Edge cihazlarında modülleri dağıtma hakkında daha fazla bilgi için bkz. IoT Edge'de modülleri dağıtmayı ve yolları belirlemeyi öğrenin.

Modül ikizi şunları içerir:

  • İstenen özellikler. Çözüm arka ucu istenen özellikleri ayarlar ve modül bunları okur. Modül ayrıca istenen özelliklerdeki değişikliklerin bildirimlerini alır. İstenen özellikler, modül yapılandırmasını veya koşullarını eşitlemek için bildirilen özelliklerle birlikte kullanılır.

  • Bildirilen özellikler. Modül bildirilen özellikleri ayarlar ve çözüm arka ucu bunları okur ve sorgular. Bildirilen özellikler, modül yapılandırmasını veya koşullarını eşitlemek için istenen özelliklerle birlikte kullanılır.

EdgeAgent istenen özellikleri

IoT Edge aracısının modül ikizi olarak adlandırılır $edgeAgent. Bir cihazda çalışan IoT Edge aracısı ile IoT Hub arasındaki iletişimleri koordine eder. İstenen özellikler, tek bir cihaz veya ölçekli dağıtımın parçası olarak belirli bir cihaza dağıtım bildirimi uygulanırken ayarlanır.

Özellik Açıklama Gerekli
imagePullPolicy Resmin çekilme zamanını belirtir: OnCreate veya Never. Görüntü zaten cihazdaysa Hiçbir zaman kullanın. Evet
yeniden başlatma politikası Modülün yeniden başlatılması gerektiğinde. Olası değerler şunlardır: Hiçbir zaman: çalışmıyorsa modülü yeniden başlatma, Her zaman: çalışmıyorsa modülü her zaman yeniden başlatın, İyi durumda değilse modülü yeniden başlatın. Sağlıksız olması durumu, Docker'ın sistem durumu kontrolüne dayanarak rapor ettiği şekildedir. Örneğin, "Sağlıksız - kapsayıcı düzgün çalışmıyor", Başarısızda: Başarısız olursa yeniden başlat. Evet
runtime.type Docker olmalı. Evet
runtime.settings.minDockerVersion Bu dağıtım bildirimi için gereken en düşük Docker sürümünü belirtir. Evet
çalışma_zamanı.ayarlar.günlükleme_seçenekleri IoT Edge ajan kapsayıcısı için günlükleme seçeneklerini içeren dizgeselleştirilmiş bir JSON belirtir. Docker loglama seçenekleri hakkında daha fazla bilgi edinin. Hayır
runtime.settings.registryCredentials. {registryId}.username Kapsayıcı kayıt defteri için kullanıcı adını belirtir. Azure Container Registry için kullanıcı adı genellikle kayıt defteri adıdır. Özel modül görüntüleri için kayıt defteri kimlik bilgileri gereklidir. Hayır
runtime.settings.registryCredentials. {registryId}.password Kapsayıcı kayıt defterinin parolası. Hayır
runtime.settings.registryCredentials. {registryId}.address Kapsayıcı kayıt defterinin adresi. Azure Container Registry için adres genellikle {registry name}.azurecr.io şeklindedir. Hayır
schemaVersion 1.0 veya 1.1 belirtir. IoT Edge sürüm 1.0.10 ile sunulan sürüm 1.1 önerilir. Evet
durum Modülün istenen durumu: Çalışıyor veya Durduruldu. Gerekli
systemModules.edgeAgent.type Docker olmalı. Evet
systemModules.edgeAgent.startupOrder Modülün başlangıç sırasındaki konumu için bir tamsayı belirtir. 0 ilk, maksimum tamsayı (4294967295) ise son değerdir. Değer sağlanmazsa, varsayılan değer maksimum tamsayıdır. Hayır
systemModules.edgeAgent.settings.görüntü IoT Edge aracı görüntüsünün URI'sini belirtir. IoT Edge aracısı kendisini güncelleştiremiyor. Evet
systemModules.edgeAgent.settings.createOptions IoT Edge aracı kapsayıcısı oluşturma seçenekleriyle birlikte dizeli bir JSON belirtir. Docker oluşturma seçenekleri hakkında daha fazla bilgi edinin. Hayır
systemModules.edgeAgent.configuration.id Bu modülü dağıtan dağıtımın kimliği. IoT Hub, bildirim bir dağıtım kullanılarak uygulandığında bu özelliği ayarlar. Dağıtım bildiriminin parçası değil.
systemModules.edgeHub.type Docker olmalı. Evet
systemModules.edgeHub.status Çalışıyor olmalı. Evet
systemModules.edgeHub.yenidenBaşlatmaPolitikası Her zaman öyle olmak zorunda. Evet
systemModules.edgeHub.startupOrder Bir modülün başlangıç sırasına sahip olduğu nokta için tamsayı değeri. 0 ilk, maksimum tamsayı (4294967295) ise sondur. Bir değer sağlanmazsa, varsayılan değer maksimum tamsayıdır. Hayır
systemModules.edgeHub.settings.image IoT Edge hub'ının görüntüsünün URI'sini. Evet
systemModules.edgeHub.settings.createOptions IoT Edge hub kapsayıcısının oluşturulmasına yönelik seçenekleri içeren dizeli bir JSON. Docker oluşturma seçenekleri Hayır
systemModules.edgeHub.configuration.id Bu modülü dağıtan dağıtımın kimliği. IoT Hub, bildirim bir dağıtım kullanılarak uygulandığında bu özelliği ayarlar. Dağıtım bildiriminin parçası değil.
Modül. {moduleId}.version Bu modülün sürümünü temsil eden kullanıcı tanımlı bir dize. Evet
Modül. {moduleId}.type Docker olmalı. Evet
Modül. {moduleId}.status {çalışıyor | durduruldu} Evet
Modül. {moduleId}.restartPolicy {asla | her zaman} Evet
Modül. {moduleId}.startupOrder Bir modülün başlangıç sırasındaki konumu için bir tamsayı değeri. 0 ilk, maksimum tamsayı (4294967295) ise sondur. Bir değer sağlanmazsa, varsayılan değer maksimum tamsayıdır. Hayır
Modül. {moduleId}.imagePullPolicy {oluşturulduğunda | asla} Hayır
Modül. {moduleId}.env Modüle geçirecek ortam değişkenlerinin listesi. biçimini "<name>": {"value": "<value>"}alır. Hayır
Modül. {moduleId}.settings.image Modül görüntüsünün URI'si. Evet
Modül. {moduleId}.settings.createOptions Modül kapsayıcısının oluşturulmasına yönelik seçenekleri içeren dizeli bir JSON. Docker oluşturma seçenekleri Hayır
Modül. {moduleId}.configuration.id Bu modülü dağıtan dağıtımın kimliği. IoT Hub, bildirim bir dağıtım kullanılarak uygulandığında bu özelliği ayarlar. Dağıtım bildiriminin parçası değil.
sürüm Sürümü, işlemesi ve derlemesi olan geçerli yineleme. Hayır

EdgeAgent tarafından bildirilen özellikler

IoT Edge aracısı tarafından bildirilen özellikler üç ana bilgi parçası içerir:

  • Son görülen istenen özelliklerin uygulama durumu,
  • IoT Edge aracısının bildirdiği şekilde cihazda çalışmakta olan modüllerin durumu ve
  • Cihazda çalışmakta olan istenen özelliklerin kopyası.

Geçerli istenen özelliklerin kopyası, cihazın en son dağıtımı uyguladığını veya hala önceki bir dağıtım bildirimini çalıştırdığını belirlemeye yardımcı olur.

Not

Dağıtım durumunu büyük ölçekte araştırmak için IoT Edge aracısı tarafından bildirilen özellikleri IoT Hub sorgu diliyle sorgulayabilirsiniz . Tek cihazlar için ioT Edge dağıtımlarını anlama veya uygun ölçekte durum için IoT Edge aracı özelliklerini kullanmayı öğrenin.

Aşağıdaki tabloda istenen özelliklerden kopyalanan bilgiler yer almaz.

Özellik Açıklama
lastDesiredStatus.code IoT Edge aracısı tarafından görülen son istenen özelliklerin durum kodu. İzin verilen değerler: 200 Başarılı, 400 Geçersiz yapılandırma, 412 Geçersiz şema sürümü, 417 İstenen özellikler boş, 500 Başarısız.
sonArzuEdilenDurum.aciklama Durumun metin açıklaması.
lastDesiredVersion Bu tamsayı, IoT Edge aracısı tarafından işlenen istenen özelliklerin son sürümünü ifade eder.
runtime.platform.OS Cihazda çalışan işletim sistemini raporlar.
runtime.platform.architecture Cihazdaki CPU mimarisini bildirir.
schemaVersion Bildirilen özelliklerin şema sürümü.
systemModules.edgeAgent.runtimeStatus IoT Edge aracısının bildirilen durumu: {running | unhealthy}.
sistemModülleri.kenarAjanı.durumAçıklaması IoT Edge aracısının bildirilen durumunun metin açıklaması.
sistemModülleri.kenarAjan.çıkışKodu Kapsayıcıdan çıkıldığı takdirde IoT Edge aracı kapsayıcısı tarafından bildirilen çıkış kodu.
systemModules.edgeAgent.lastStartTimeUtc IoT Edge aracısının en son başlatıldığı zaman.
systemModules.edgeAgent.sonÇıkışZamanıUtc IoT Edge aracısının en son çıkış zamanı.
systemModules.edgeHub.runtimeStatus IoT Edge hub'ının durumu: { çalışandurduruldu | geri alma | değil } başarısız oldu. |
systemModules.edgeHub.statusDescription İyi durumda değilse IoT Edge hub'ının durumunun metin açıklaması.
systemModules.edgeHub.exitCode Kapsayıcıdan çıkıldığı takdirde IoT Edge hub kapsayıcısı tarafından bildirilen çıkış kodu.
systemModules.edgeHub.lastStartTimeUtc IoT Edge hub'ını en son başlatma zamanı.
systemModules.edgeHub.lastExitTimeUtc IoT Edge hub'ına son çıkış zamanı.
systemModules.edgeHub.lastRestartTimeUtc IoT Edge hub'ını en son yeniden başlatma zamanı.
sistemModülleri.edgeHub.yenidenBaşlatmaSayısı Bu modülün yeniden başlatma ilkesinin bir parçası olarak yeniden başlatılma sayısı.
Modül. {moduleId}.runtimeStatus Modülün durumu: { |
Modül. {moduleId}.statusDescription İyi durumda değilse modülün durumunun metin açıklaması.
Modül. {moduleId}.exitCode Kapsayıcıdan çıkıldığı takdirde modül kapsayıcısı tarafından bildirilen çıkış kodu.
Modül. {moduleId}.lastStartTimeUtc Modülün en son başlatıldığı zaman.
Modül. {moduleId}.lastExitTimeUtc Modülden en son çıkıldığı zaman.
Modül. {moduleId}.lastRestartTimeUtc Modülün en son yeniden başlatıldığı zaman.
Modül. {moduleId}.restartCount Bu modülün yeniden başlatma ilkesinin bir parçası olarak yeniden başlatılma sayısı.
sürüm Görüntünün sürümü. Örnek: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

EdgeHub istenen özellikleri

IoT Edge hub'ı için modül ikizi çağrılır $edgeHub ve bir cihazda çalışan IoT Edge hub'ı ile IoT Hub arasındaki iletişimi koordine eder. İstenen özellikler, tek bir cihaz veya ölçekli dağıtımın parçası olarak belirli bir cihaza dağıtım bildirimi uygulanırken ayarlanır.

Özellik Açıklama Dağıtım bildiriminde gerekli
schemaVersion 1.0 veya 1.1. Sürüm 1.1, IoT Edge sürüm 1.0.10 ile kullanıma sunulmuştur ve önerilir. Evet
Yol. {routeName} IoT Edge hub yolunu temsil eden bir dize. Daha fazla bilgi için bkz . Yolları bildirme. routes öğesi mevcut ancak boş olabilir.
storeAndForwardConfiguration.timeToLiveSecs IoT Hub veya yerel modül gibi yönlendirme uç noktalarıyla bağlantısı kesilirse IoT Edge hub'ın iletileri tuttuğu cihaz süresi saniyeler içinde değiştirilebilir. Bu süre, tüm güç kesintileri veya yeniden başlatmalar üzerinde devam eder. Daha fazla bilgi için bkz . Çevrimdışı özellikler. Evet

EdgeHub bildirilen özellikleri

Özellik Açıklama
lastDesiredVersion Bu tamsayı, IoT Edge hub'ı tarafından işlenen istenen özelliklerin son sürümünü ifade eder.
lastDesiredStatus.code IoT Edge hub'ı tarafından görülen son istenen özelliklere başvuran durum kodu. İzin verilen değerler: 200 Başarılı, 400 Geçersiz yapılandırma, 500 Başarısız
sonArzuEdilenDurum.aciklama Durumun metin açıklaması.
Istemci EdgeHub'a durumu ve son bağlanılan zamanı içeren tüm istemciler. Örnek: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }.
Istemci. {device veya moduleId}.status Bu cihazın veya modülün bağlantı durumu. Olası değerler {connected | disconnected}. Yalnızca modül kimlikleri bağlantısı kesilmiş durumda olabilir. IoT Edge hub'ına bağlanan aşağı akış cihazları yalnızca bağlandığında görünür.
Istemci. {device veya moduleId}.lastConnectTime Cihaz veya modülün son bağlanışı.
Istemci. {device veya moduleId}.lastDisconnectTime Cihazın veya modülün bağlantısının son kesildiğinde.
schemaVersion Bildirilen özelliklerin şema sürümü.
sürüm Görüntünün sürümü. Örnek: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }.

Sonraki adımlar

Dağıtım bildirimleri oluşturmak için bu özelliklerin nasıl kullanılacağını öğrenmek için bkz . IoT Edge modüllerinin nasıl kullanılabileceğini, yapılandırılabileceğini ve yeniden kullanılabileceğini anlama.