Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
IoT Edge 1.6
Önemli
IoT Edge 1.6 LTS desteklenen sürümdür. IoT Edge 1.5 LTS desteği 10 Kasım 2026'da sona erer; IoT Edge 1.4 LTS, 12 Kasım 2024'te ömrünün sonuna ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.
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 cihazlarda modüllerin nasıl dağıtılacağı hakkında daha fazla bilgi için bkz. IoT Edge'da modülleri dağıtmayı ve yolları oluşturmayı öğ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. Modül yapılandırmasını veya koşullarını eşitlemek için bildirilen özelliklerle birlikte istenen özellikleri kullanın.
Bildirilen özellikler. Modül bildirilen özellikleri ayarlar ve çözüm arka ucu bunları okur ve sorgular. Modül yapılandırmasını veya koşullarını eşitlemek için istenen özelliklerle birlikte bildirilen özellikleri kullanın.
EdgeAgent istenen özellikleri
IoT Edge aracısının modül ikizi $edgeAgent olarak adlandırılır. Bir cihazda çalışan IoT Edge aracısı ile IoT Hub arasındaki iletişimleri koordine eder. Tek cihazlı veya ölçekli bir dağıtımın parçası olarak belirli bir cihaza dağıtım bildirimi uyguladığınızda istenen özellikleri ayarlayın.
| Özellik | Açıklama | Gerekli |
|---|---|---|
imagePullPolicy |
Resmin çekilme zamanını belirtir: OnCreate veya Never. Görüntü zaten cihazdaysa Hiçbir zaman kullanın. | Evet |
restartPolicy |
Modülü ne zaman yeniden başlatmalı? Olası değerler şunlardır: hiçbir zaman: çalışmıyorsa modülü yeniden başlatma, hata durumunda: sıfır olmayan bir çıkış koduyla çıkılırsa modülü yeniden başlatın, iyi durumda değilse modülü yeniden başlatın (bkz. not), her zaman: çalışmıyorsa modülü her zaman yeniden başlatın.
Not: İlke, on-failure sıfır olmayan bir çıkış koduyla çıkan modülleri yeniden başlatır. İlke on-unhealthy şema tarafından kabul edilir, ancak çalışma zamanı şu anda Docker sistem durumu denetimlerinden iyi durumda olmayan bir durum türetmediğinden pratik bir etkisi yoktur. Ayrıntılar için bkz. IoT Edge sınırları ve kısıtlamaları. |
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 |
runtime.settings.loggingOptions |
IoT Edge aracısı kapsayıcısı için günlüğe kaydetme seçenekleriyle birlikte dizeli 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 |
Konteyner kaydı için parola. | 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 |
status |
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. Bir değer sağlamazsanız, varsayılan değer maksimum tamsayıdır. | Hayır |
systemModules.edgeAgent.settings.image |
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ısı kapsayıcısını oluşturmak için seçenekler içeren dize formatında 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, bir dağıtım kullanarak bildirimi uyguladığınızda 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.restartPolicy |
Her zaman olmalı. | 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ğlamazsanız, 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, bir dağıtım kullanarak bildirimi uyguladığınızda bu özelliği ayarlar. Dağıtım bildiriminin parçası değil. |
modules.{moduleId}.version |
Bu modülün sürümünü temsil eden kullanıcı tanımlı bir dize. | Evet |
modules.{moduleId}.type |
Docker olmalı. | Evet |
modules.{moduleId}.status |
Çalışıyor | Durduruldu | Evet |
modules.{moduleId}.restartPolicy |
Hiç | hata durumunda | sağlıksız durumda | Her zaman | Evet |
modules.{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ğlamazsanız, varsayılan değer maksimum tamsayıdır. | Hayır |
modules.{moduleId}.imagePullPolicy |
oluşturma sırasında | hiç | Hayır |
modules.{moduleId}.env |
Modüle geçirecek ortam değişkenlerinin listesi. biçimini "<name>": {"value": "<value>"} alır. |
Hayır |
modules.{moduleId}.settings.image |
Modül görüntüsünün URI'si. | Evet |
modules.{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 |
modules.{moduleId}.configuration.id |
Bu modülü dağıtan dağıtımın kimliği. | IoT Hub, bir dağıtım kullanarak bildirimi uyguladığınızda bu özelliği ayarlar. Dağıtım bildiriminin parçası değil. |
version |
Sürümü, commit'i ve build'i olan geçerli yineleme. | Hayır |
EdgeAgent tarafından bildirilen özellikler
IoT Edge aracının bildirdiği ö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ı belirlemenize yardımcı olur.
Not
Dağıtım durumunu büyük ölçekte araştırmak için IoT Hub sorgu dili kullanarak aracı tarafından bildirilen IoT Edge özellikleri sorgulayabilirsiniz. IoT Edge temsilcisi özelliklerini durum kontrolü için kullanma hakkında bilgi için bkz. tek cihazlar ya da büyük ölçekli IoT Edge dağıtımlarını anlama.
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. |
lastDesiredStatus.description |
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: { çalışıyor | sağlıksız }. |
systemModules.edgeAgent.statusDescription |
IoT Edge aracısının bildirilen durumunun metin açıklaması. |
systemModules.edgeAgent.exitCode |
IoT Edge aracısı kapsayıcı kapandığında konteyner çıkış kodunu bildirir. |
systemModules.edgeAgent.lastStartTimeUtc |
IoT Edge aracının en son başlatıldığı zaman. |
systemModules.edgeAgent.lastExitTimeUtc |
IoT Edge aracısının son çıkış zamanı. |
systemModules.edgeHub.runtimeStatus |
IoT Edge hub'ının durumu: { çalışıyor | durdu | hatalı | geri çekiliyor | sağlıksız }. |
systemModules.edgeHub.statusDescription |
İyi durumda değilse IoT Edge hub'ının durumunun metin açıklaması. |
systemModules.edgeHub.exitCode |
IoT Edge hub kapsayıcısı tarafından bildirilen çıkış kodu, kapsayıcıdan çıkıldığı takdirde. |
systemModules.edgeHub.lastStartTimeUtc |
IoT Edge hub'ın en son başlatıldığı zaman. |
systemModules.edgeHub.lastExitTimeUtc |
IoT Edge hub'ına son çıkış zamanı. |
systemModules.edgeHub.lastRestartTimeUtc |
IoT Edge hub'ın en son yeniden başlatıldığı zaman. |
systemModules.edgeHub.restartCount |
Bu modülün yeniden başlatma ilkesinin bir parçası olarak yeniden başlatılma sayısı. |
modules.{moduleId}.runtimeStatus |
Modülün durumu: { çalışıyor | durdu | başarısız | geri çekilme | sağlıksız }. |
modules.{moduleId}.statusDescription |
İyi durumda değilse modülün durumunun metin açıklaması. |
modules.{moduleId}.exitCode |
Kapsayıcıdan çıkıldığı takdirde modül kapsayıcısı tarafından bildirilen çıkış kodu. |
modules.{moduleId}.lastStartTimeUtc |
Modülün en son başlatıldığı zaman. |
modules.{moduleId}.lastExitTimeUtc |
Modülden en son çıkıldığı zaman. |
modules.{moduleId}.lastRestartTimeUtc |
Modülün en son yeniden başlatıldığı zaman. |
modules.{moduleId}.restartCount |
Bu modülün yeniden başlatma ilkesinin bir parçası olarak yeniden başlatılma sayısı. |
version |
Görüntünün sürümü. Örneğin: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
EdgeHub istenen özellikleri
IoT Edge hub'ına yönelik modül ikizi $edgeHub olarak adlandırılır. Cihazda çalışan IoT Edge hub'ı ile IoT Hub arasındaki iletişimleri koordine eder. Tek cihazlı veya ölçekli bir dağıtımın parçası olarak belirli bir cihaza dağıtım bildirimi uyguladığınızda istenen özellikleri ayarlayın.
| Ö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 |
routes.{routeName} |
IoT Edge hub yolunu temsil eden bir dize. Daha fazla bilgi için Yolları Tanımlama bölümüne bakın. |
routes öğesi mevcut ancak boş olabilir. |
storeAndForwardConfiguration.timeToLiveSecs |
IoT Edge hub'un, IoT Hub veya yerel bir modülde yönlendirme uç noktalarından bağlantısı kesildiğinde iletileri sakladığı süre, saniye cinsinden. Bu süre, her türlü güç kesintisi veya yeniden başlatma sırasında devam eder. Daha fazla bilgi için bkz . Çevrimdışı özellikler. | Evet |
EdgeHub ortam değişkenleri
Dağıtım bildirimindeki modülde $edgeHub ortam değişkenlerini ayarlayarak bazı IoT Edge hub davranışlarını ayarlayabilirsiniz. Aşağıdaki değişkenler, IoT Edge hub’ının cihaz kapsamı önbelleğini nasıl yenileyeceğini ve bu önbelleği alt cihazların ve modüllerin kimliğini yerel olarak doğrulamak için nasıl kullanacağını denetler.
| Ortam değişkeni | Açıklama |
|---|---|
DeviceScopeCacheRefreshRateSecs |
IoT Edge hub'ının, kapsamındaki cihaz ve modül önbelleğini IoT Hub'dan listeleyerek kaç saniyede bir yenileyeceği. Varsayılan değer ( 3600 bir saat). Birçok IoT Edge cihazı olan bir hub'da, tüm cihazlardan yapılan birleştirilmiş kapsam yenileme işlemleri, hub'ın kimlik işlemi kullanımına önemli ölçüde katkıda bulunabilir. Bu değerin artırılması, bu yükü orantılı olarak azaltır. Daha fazla bilgi için bkz. IoT Hub kimlik işlemi kotası büyük bir filoda aşıldı. |
DeviceScopeCacheRefreshDelaySecs |
IoT Edge hub'unun tek bir kimliği isteğe bağlı olarak yeniden yenilemeden önce bekleyeceği en kısa süre (saniye cinsinden). Varsayılan değer: 120. Bu ayar, istemciler bağlandığında aynı kimliğin hızla yenilenme sıklıklarını sınırlar. |
EdgeHub'un bildirdiği özellikler
| Ö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 son görülen istenen özelliklerle ilgili durum kodu. İzin verilen değerler: 200 Başarılı, 400 Geçersiz yapılandırma, 500 Başarısız. |
lastDesiredStatus.description |
Durumun metin açıklaması. |
clients |
EdgeHub'a bağlı tüm istemciler ile durumları ve son bağlanma zamanları. Örnek: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. Bu özellikte hangi bağlantıların görüntülendiği hakkında ayrıntılı bilgi için bkz. Hangi bağlantılar içinde clientsgörünür? |
clients.{device or moduleId}.status |
Bu cihazın veya modülün bağlantı durumu. Olası değerler: bağlandı veya bağlantısı kesildi. 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. |
clients.{device or moduleId}.lastConnectTime |
Cihaz veya modülün son bağlanışı. |
clients.{device or moduleId}.lastDisconnectTime |
Cihaz veya modülün bağlantısı en son ne zaman kesildi. |
schemaVersion |
Bildirilen özelliklerin şema sürümü. |
version |
Görüntünün sürümü. Örneğin: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Hangi bağlantılar clients içinde görünür
Bildirilen clients özellik, yerel edgeHub'ın kendi $edgeHub kimliği dışında hizmet verdiği her ayrı mantıksal bağlantıyı listeler. Specifically:
-
Aynı uç cihazdaki modüller olarak
<deviceId>/<moduleName>görünür. Bu,$edgeAgentöğesini de içerir; çünkü yerel edgeAgent, yerel edgeHub üzerinden bağlanır. -
Aşağı akış IoT Edge alt cihazları,
<childDeviceId>/$edgeHubve<childDeviceId>/$edgeAgentolarak görünür. Yalın<childDeviceId>girdisi yok.$edgeHubÇocuğun bağlantısı, ağ geçidi hiyerarşisindeki bağlı istemci sayısı bölümünde başvuruda bulunan "cihazın kendi bağlantısıdır". -
Alt akış uç cihazları (IoT Edge olmayan cihazlar) modül son eki olmadan
<deviceId>olarak görünür. - Yerel edgeHub'ın kendi kimliği (
<deviceId>/$edgeHub), kendi kendine başvurmayı önlemek için kasıtlı olarak atlanır.
Bir modülün bağlantısı kesildiğinde, clients içindeki kaydı Disconnected durumunda kalır. Bir alt cihazın bağlantısı kesildiğinde, girdisi clients öğesinden kaldırılır. Görünür kayıtlar, MaxConnectedClients için ayrılan sayıya eşittir. Gizli ek bağlantı yok.
Sonraki adımlar
Dağıtım bildirimleri oluşturmak için bu özelliklerin nasıl kullanılacağı hakkında bilgi için bkz. IoT Edge modüllerinin nasıl kullanılabileceğini, yapılandırılabileceğini ve yeniden kullanılabileceğini anlama.