IoT Edge aracısının ve IoT Edge hub modül ikizlerinin özellikleri
Şunlar için geçerlidir: 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 ayarlayabilir ve modül bunları okuyabilir. Modül ayrıca istenen özelliklerdeki değişikliklerin bildirimlerini alabilir. İ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 ayarlayabilir ve çözüm arka ucu bunları okuyabilir ve sorgulayabilir. 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 çağrılır $edgeAgent
ve bir cihazda çalışan IoT Edge aracısı 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 | Gerekli |
---|---|---|
imagePullPolicy | OnCreate veya Never içinde görüntü ne zaman çekilmelidir (Görüntü zaten cihazdaysa hiçbir zaman kullanılamaz) | Yes |
restartPolicy | 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. İyi durumda değil, Docker'ın sistem durumu denetimine dayalı olarak rapor verdiği durumdur, örneğin "İyi durumda değil - kapsayıcı düzgün çalışmıyor", Başarısız olduğunda Başarısız: yeniden başlatma. | Yes |
runtime.type | Docker olmalı. | Yes |
runtime.settings.minDockerVersion | Bu dağıtım bildirimi için gereken en düşük Docker sürümüne ayarlayın. | Yes |
runtime.settings.loggingOptions | IoT Edge aracı kapsayıcısı için günlük seçeneklerini içeren dizeli bir JSON. Docker günlük seçenekleri | Hayır |
runtime.settings.registryCredentials. {registryId}.username | Kapsayıcı kayıt defterinin kullanıcı adı. 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. Sürüm 1.1, IoT Edge sürüm 1.0.10 ile kullanıma sunulmuştur ve önerilir. | Yes |
durum | Modülün istenen durumu: Çalışıyor veya Durduruldu. | Zorunlu |
systemModules.edgeAgent.type | Docker olmalı. | Yes |
systemModules.edgeAgent.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 |
systemModules.edgeAgent.settings.image | IoT Edge aracısının görüntüsünün URI'sini. Şu anda IoT Edge aracısı kendisini güncelleştiremiyor. | Yes |
systemModules.edgeAgent.settings.createOptions | IoT Edge aracı 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.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ı. | Yes |
systemModules.edgeHub.status | Çalışıyor olmalı. | Yes |
systemModules.edgeHub.restartPolicy | Her zaman öyle olmak zorunda. | Yes |
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. | Yes |
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. | Yes |
Modül. {moduleId}.type | Docker olmalı. | Yes |
Modül. {moduleId}.status | {çalışıyor | durduruldu} | Yes |
Modül. {moduleId}.restartPolicy | {asla | her zaman} | Yes |
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 | {on-create | never} | 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. | Yes |
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 bir kopyası.
Geçerli istenen özelliklerin kopyası, cihazın en son dağıtımı uygulayıp uygulamadığını veya hala önceki bir dağıtım bildirimini çalıştırıp çalıştırmadığını bildirmek için kullanışlıdır.
Not
IoT Edge aracısının bildirilen özellikleri, büyük ölçekte dağıtımların durumunu araştırmak için IoT Hub sorgu diliyle sorgulanabildiği için yararlıdır. Durum için IoT Edge aracı özelliklerini kullanma hakkında daha fazla bilgi için bkz . Tek cihazlar için veya uygun ölçekte IoT Edge dağıtımlarını anlama.
Aşağıdaki tablo, istenen özelliklerden kopyalanan bilgileri içermez.
Özellik | Açıklama |
---|---|
lastDesiredStatus.code | Bu durum kodu, IoT Edge aracısı tarafından görülen son istenen özellikleri ifade eder. İ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 raporlama. |
runtime.platform.architecture | Cihazdaki CPU mimarisini raporlama. |
schemaVersion | Bildirilen özelliklerin şema sürümü. |
systemModules.edgeAgent.runtimeStatus | IoT Edge aracısının bildirilen durumu: {running | unhealthy}. |
systemModules.edgeAgent.statusDescription | IoT Edge aracısının bildirilen durumunun metin açıklaması. |
systemModules.edgeAgent.exitCode | 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.lastExitTimeUtc | IoT Edge aracısının en son çıkış zamanı. |
systemModules.edgeHub.runtimeStatus | IoT Edge hub'ının durumu: { çalışan | durduruldu | geri alma | iyi durumda 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ı. |
systemModules.edgeHub.restartCount | 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: { çalışan | durduruldu | geri alma | iyi durumda değil } başarısız oldu. | |
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. | Yes |
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. | Yes |
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 |
lastDesiredStatus.description | 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.