IoT Edge aracısı ve IoT Edge hub modülü ikizlerinin özellikleri
Şunlar için geçerlidir: IoT Edge 1.1
IoT Edge 1.2
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 makalede çalışma zamanı modül ikizlerinin istenen özellikleri ve bildirilen özellikleri sağlanır. modülleri IoT Edge cihazlara 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, istenen özelliklerdeki değişikliklerle ilgili bildirimler de 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 özellikler
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 |
---|---|---|
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 |
runtime.type | "Docker" olmalıdır | 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.loggingSeçenekler | IoT Edge aracısı kapsayıcısı için günlüğe kaydetme seçeneklerini içeren dizeli JSON. Docker günlük seçenekleri | No |
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. |
No |
runtime.settings.registryCredentials . {registryId}.password |
Kapsayıcı kayıt defterinin parolası. | No |
runtime.settings.registryCredentials . {registryId}.address |
Kapsayıcı kayıt defterinin adresi. Azure Container Registry için adres genellikle {registry name}.azurecr.io şeklindedir. | No |
systemModules.edgeAgent.type | "Docker" olmalıdır | Yes |
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ısı kapsayıcısının oluşturulmasına yönelik seçenekleri içeren dizeli JSON. Docker oluşturma seçenekleri | No |
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ıdır | Yes |
systemModules.edgeHub.status | "Çalışıyor" olmalıdır | Yes |
systemModules.edgeHub.restartPolicy | "Her zaman" olmalıdır | Yes |
systemModules.edgeHub.startupOrder | Modülün başlangıç sırasında bulunduğu nokta 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. | No |
systemModules.edgeHub.settings.image | IoT Edge hub'ının görüntüsünün URI'si. | Yes |
systemModules.edgeHub.settings .createOptions |
IoT Edge hub kapsayıcısının oluşturulmasına yönelik seçenekleri içeren dizeli JSON. Docker oluşturma seçenekleri | No |
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ı dize. | Yes |
Modül. {moduleId}.type | "Docker" olmalıdır | Yes |
Modül. {moduleId}.status | {"running" | "durduruldu"} | Yes |
Modül. {moduleId}.restartPolicy | {"never" | "hata durumunda" | "iyi durumda değil" | "always"} | Yes |
Modül. {moduleId}.startupOrder | Modülün başlangıç sırasında bulunduğu nokta 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. | No |
Modül. {moduleId}.imagePullPolicy | {"on-create" | "hiçbir zaman"} | No |
Modül. {moduleId}.env | Modüle geçirecek ortam değişkenlerinin listesi. Biçimi alır "<name>": {"value": "<value>"} |
No |
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 JSON. Docker oluşturma seçenekleri | No |
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. |
EdgeAgent tarafından bildirilen özellikler
bildirilen IoT Edge aracı özellikleri üç ana bilgi parçası içerir:
- Son görülen istenen özelliklerin uygulama durumu;
- IoT Edge aracısı tarafından bildirildiği gibi cihazda çalışmakta olan modüllerin durumu ve
- Şu anda cihazda çalışan 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ı göstermek 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 sorgulanabilecekleri için yararlıdır. Durum için IoT Edge aracısı özelliklerini kullanma hakkında daha fazla bilgi için bkz. Tek cihazlar veya uygun ölçekte IoT Edge dağıtımlarını anlama.
Aşağıdaki tablo, istenen özelliklerden kopyalanan bilgileri içermez.
Özellik | Açıklama |
---|---|
lastDesiredVersion | Bu tamsayı, IoT Edge aracısı tarafından işlenen istenen özelliklerin son sürümünü ifade eder. |
lastDesiredStatus.code | Bu durum kodu, IoT Edge aracısı tarafından görülen son istenen özelliklere başvurur. İzin verilen değerler: 200 Başarılı, 400 Geçersiz yapılandırma, 412 Geçersiz şema sürümü, 417 istenen özellikler boş, 500 Başarısız |
lastDesiredStatus.description | Durumun metin açıklaması |
runtime.platform.OS | Cihazda çalışan işletim sistemini raporlama |
runtime.platform.architecture | Cihazdaki CPU mimarisini raporlama |
systemModules.edgeAgent.runtimeStatus | IoT Edge aracısının bildirilen durumu: {"running" | "iyi durumda değil"} |
systemModules.edgeAgent.statusDescription | IoT Edge aracısının bildirilen durumunun metin açıklaması. |
systemModules.edgeHub.runtimeStatus | IoT Edge hub'ının durumu: { "çalışıyor" | "durduruldu" | "başarısız" | "geri çekilme" | "iyi durumda değil" } |
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.startTimeUtc | IoT Edge hub'ın en son başlatıldığı saat |
systemModules.edgeHub.lastExitTimeUtc | IoT Edge hub'ına son çıkış zamanı |
systemModules.edgeHub.lastRestartTimeUtc | IoT Edge hub'larının en son yeniden başlatıldığı saat |
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: { "running" | "durduruldu" | "başarısız" | "geri çekilme" | "iyi durumda değil" } |
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}.startTimeUtc | Modülün en son başlatıldığı saat |
Modül. {moduleId}.lastExitTimeUtc | Modülden en son çıkılan saat |
Modül. {moduleId}.lastRestartTimeUtc | Modülün en son yeniden başlatıldığı saat |
Modül. {moduleId}.restartCount | Bu modülün yeniden başlatma ilkesinin bir parçası olarak yeniden başlatılma sayısı. |
EdgeHub istenen özellikleri
IoT Edge hub'ına yönelik 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 Öğe mevcut ancak boş olabilir. |
storeAndForwardConfiguration.timeToLiveSecs | IoT Edge hub'ında, ister IoT Hub ister yerel modül olsun, yönlendirme uç noktalarıyla bağlantısı kesildiğinde iletilerin kaç saniye içinde tutduğunu gösterir. Değer herhangi bir pozitif tamsayı olabilir. | Yes |
EdgeHub bildirilen ö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 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. {device veya moduleId}.status | Bu cihazın veya modülün bağlantı durumu. Olası değerler {"connected" | "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. |
Istemci. {device veya moduleId}.lastConnectTime | Cihaz veya modülün son bağlanışı. |
Istemci. {device veya moduleId}.lastDisconnectTime | Cihazın veya modülün son bağlantısı kesildiğinde. |
Sonraki adımlar
Dağıtım bildirimleri oluşturmak için bu özellikleri kullanmayı öğrenmek için bkz. IoT Edge modüllerin nasıl kullanılabileceğini, yapılandırılabileceğini ve yeniden kullanılabileceğini anlama.