Azure IoT Edge modüllerini anlama
Şunlar için geçerlidir: IoT Edge 1.4
Azure IoT Edge, uçtaki iş mantığını modül biçiminde dağıtmanıza ve yönetmenize olanak tanır. Azure IoT Edge modülleri, IoT Edge tarafından yönetilen en küçük hesaplama birimidir ve Azure hizmetlerini (Azure Stream Analytics gibi) veya kendi çözüme özgü kodunuzu içerebilir. Modüllerin nasıl geliştirilir, dağıtılır ve korunur anlamak için bir modülün dört kavramsal öğesini göz önünde bulundurun:
- Modül görüntüsü, modülü tanımlayan yazılımı içeren bir pakettir.
- Modül örneği, IoT Edge bir cihazda modül görüntüsünü çalıştıran belirli bir hesaplama birimidir. Modül örneği IoT Edge çalışma zamanı tarafından başlatılır.
- Modül kimliği, her modül örneğiyle ilişkili IoT Hub depolanan bir bilgi parçasıdır (güvenlik kimlik bilgileri dahil).
- Modül ikizi, meta veriler, yapılandırmalar ve koşullar dahil olmak üzere bir modül örneğinin durum bilgilerini içeren IoT Hub depolanan bir JSON belgesidir.
Modül görüntüleri ve örnekleri
IoT Edge modül görüntüleri, IoT Edge çalışma zamanının yönetim, güvenlik ve iletişim özelliklerinden yararlanan uygulamalar içerir. Kendi modül görüntülerinizi geliştirebilir veya Azure Stream Analytics gibi desteklenen bir Azure hizmetinden dışarı aktarabilirsiniz. Görüntüler bulutta bulunur ve farklı çözümlerde güncelleştirilebilir, değiştirilebilir ve dağıtılabilir. Örneğin, üretim hattı çıkışını tahmin etmek için makine öğrenmesi kullanan bir modül, insansız hava aracını denetlemek için görüntü işleme kullanan modülden ayrı bir görüntü olarak mevcuttur.
Bir modül görüntüsü bir cihaza dağıtıldığında ve IoT Edge çalışma zamanı tarafından başlatıldığında, bu modülün yeni bir örneği oluşturulur. Dünyanın farklı yerlerindeki iki cihaz aynı modül görüntüsünü kullanabilir. Ancak, modül cihazda başlatıldığında her cihazın kendi modül örneği olacaktır.
Uygulamada modül görüntüleri bir depoda kapsayıcı görüntüleri olarak bulunur ve modül örnekleri de cihazlardaki kapsayıcılardır.
Modül kimlikleri
IoT Edge çalışma zamanı tarafından yeni bir modül örneği oluşturulduğunda ilgili modül kimliğini alır. Modül kimliği IoT Hub depolanır ve bu modül örneğinin tüm yerel ve bulut iletişimleri için adresleme ve güvenlik kapsamı olarak kullanılır.
Bir modül örneğiyle ilişkilendirilmiş kimlik, örneğin çalıştığı cihazın kimliğine ve çözümünüzde bu modüle sağladığınız ada bağlıdır. Örneğin, Azure Stream Analytics kullanan bir modülü çağırır
insight ve adlı
Hannover01bir cihaza dağıtırsanız, IoT Edge çalışma zamanı adlı
/devices/Hannover01/modules/insightkarşılık gelen bir modül kimliği oluşturur.
Bir modül görüntüsünü aynı cihaza birden çok kez dağıtmanız gereken senaryolarda, aynı görüntüyü farklı adlarla birden çok kez dağıtabilirsiniz.
Modül ikizleri
Her modül örneğinin, modül örneğini yapılandırmak için kullanabileceğiniz karşılık gelen bir modül ikizi de vardır. Örnek ve ikiz, modül kimliği aracılığıyla birbirleriyle ilişkilendirilir.
Modül ikizi, modül bilgilerini ve yapılandırma özelliklerini depolayan bir JSON belgesidir. Bu kavram, cihaz ikizi kavramını IoT Hub paralel hale getirmektedir. Modül ikizinin yapısı, cihaz ikizi ile aynıdır. Her iki ikiz türüyle de etkileşimde bulunan API'ler aynıdır. İkisi arasındaki tek fark, istemci SDK'sının örneğini oluştururken kullanılan kimliktir.
// Create a ModuleClient object. This ModuleClient will act on behalf of a // module since it is created with a module’s connection string instead // of a device connection string. ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings); await client.OpenAsync(); // Get the module twin Twin twin = await client.GetTwinAsync();
Çevrimdışı özellikler
Azure IoT Edge modülleri, IoT Hub ile en az bir kez eşitledikten sonra süresiz olarak çevrimdışı çalışabilir. IoT Edge cihazlar da bu çevrimdışı özelliği diğer IoT cihazlarına genişletebilir. Daha fazla bilgi için bkz. IoT Edge cihazlar, modüller ve aşağı akış cihazları için genişletilmiş çevrimdışı özellikleri anlama.