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.
Şunlar için geçerlidir:
IoT Edge 1.4
Önemli
IoT Edge 1.5 LTS ve IoT Edge 1.4 desteklenen sürümlerdir. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.
IoT Edge cihazına modül dağıtmanın çeşitli yolları vardır ve bunların tümü IoT Edge'de Azure Blob Depolama modülleri için çalışır. En basit iki yöntem Azure portalını veya Visual Studio Code şablonlarını kullanmaktır.
Önkoşullar
IoT Edge cihazı.
Ayarlanmış bir IoT Edge cihazınız yoksa Azure sanal makinesinde bir cihaz oluşturabilirsiniz. Sanal Linux cihazı oluşturma veya Sanal Windows cihazı oluşturma için hızlı başlangıç makalelerinden birinde yer alan adımları izleyin.
Azure IoT Edge uzantısı. Visual Studio Code uzantısı için Azure IoT Edge araçlarıbakım modundadır.
Visual Studio Code'dan dağıtıyorsanız Azure IoT Hub uzantısı.
Azure portalından dağıtma
Azure portalı, dağıtım bildirimi oluşturma ve dağıtımı bir IoT Edge cihazına gönderme konusunda size yol gösterir.
Cihazınızı seçin
- Azure portalında oturum açın ve IoT hub'ınıza gidin.
- Cihaz yönetimi menüsünün altında Cihazlar'ı seçin.
- Listeden hedef IoT Edge cihazını seçin.
- Modülleri Ayarlama'yı seçin.
Dağıtım bildirimini yapılandır
Dağıtım bildirimi, dağıtılacak modülleri, modüller arasında verilerin nasıl aktığını ve modül ikizlerinin istenen özelliklerini açıklayan bir JSON belgesidir. Azure portalında dağıtım bildirimi oluşturma konusunda size yol gösteren bir sihirbaz vardır. Sekmeler halinde düzenlenmiş üç adım vardır: Modüller, Rotalar ve Gözden Geçirme + Oluştur.
Modül ekle
Sayfanın IoT Edge Modülleri bölümünde açılır Ekle menüsünü seçin ve IoT Edge Modülü'nü seçerek IoT Edge Modülü Ekleme sayfasını açın.
Ayarlar sekmesinde modül için bir ad sağlayın ve kapsayıcı görüntüsü URI'sini belirtin:
-
IoT Edge Modülü Adı:
azureblobstorageoniotedge -
Görüntü URI'si:
mcr.microsoft.com/azure-blob-storage:latest
Bu yordamda açıklandığı gibi Modül Ayarları, Kapsayıcı Oluşturma Seçenekleri ve Modül İkizi Ayarları sekmelerinde değerleri belirtmeden Ekle'yi seçmeyin.
Önemli
Azure IoT Edge, modüllere çağrı yaptığınızda büyük/küçük harfe duyarlıdır ve Depolama SDK'sı da varsayılan olarak küçük harf olarak ayarlanır. Adı küçük harfle değiştirmek, IoT Edge modülündeki Azure Blob Depolama bağlantılarınızın kesintiye uğramamasını sağlamaya yardımcı olur.
-
IoT Edge Modülü Adı:
Kapsayıcı Oluşturma Seçenekleri sekmesini açın.
Depolama hesabı bilgilerini ve cihazınızdaki depolama için bir bağlama sağlamak üzere aşağıdaki JSON dosyasını kopyalayıp kutuya yapıştırın.
{ "Env":[ "LOCAL_STORAGE_ACCOUNT_NAME=<local storage account name>", "LOCAL_STORAGE_ACCOUNT_KEY=<local storage account key>" ], "HostConfig":{ "Binds":[ "<mount>" ], "PortBindings":{ "11002/tcp":[{"HostPort":"11002"}] } } }
Kapsayıcı Oluşturma Seçenekleri'ne kopyaladığınız JSON'u aşağıdaki bilgilerle güncelleştirin:
<local storage account name>değerini hatırlayabileceğiniz bir adla değiştirin. Hesap adları 3 ile 24 karakter uzunluğunda ve küçük harfler ve sayılar olmalıdır. Boşluk yok.değerini 64 baytlık base64 anahtarıyla değiştirin
<local storage account key>. Base64 Oluşturucu gibi araçlarla bir anahtar oluşturabilirsiniz. Blob depolamaya diğer modüllerden erişmek için bu kimlik bilgilerini kullanırsınız.<mount>kapsayıcı işletim sisteminize göre değiştirin. IoT Edge cihazınızda blob modülünün verilerini depoladığı mevcut bir dizinin adını veya mutlak yolunu belirtin. Depolama bağlaması, cihazınızda sağladığınız bir konumu modüldeki belirli bir konuma eşler.
Linux kapsayıcıları için biçim depolama biriminiz veya yolunuz<>:/blobroot şeklindedir. Örneğin:
-
Birim bağlamayı kullan:
my-volume:/blobroot - Bind mount kullan: . Kapsayıcı kullanıcısına dizin erişimi verme adımlarını izlediğinden emin olun
Önemli
IoT Edge'de Blob Depolama modülündeki belirli bir konuma işaret eden depolama bağlama değerinin ikinci yarısını değiştirmeyin. Linux kapsayıcıları için depo bağlaması her zaman :/blobroot ile bitmelidir.
IoT Edge modül kapsayıcılarına bağlı birimleri kaldırmaz. Bu davranış tasarım gereğidir, çünkü verilerin yükseltme senaryoları gibi farklı kapsayıcı örnekleri arasında kalıcı hale gelmesine izin verir. Ancak, bu birimler kullanılmamış durumda bırakılırsa, disk alanı tükenmesine ve ardından oluşabilecek sistem hatalarına yol açabilir. Senaryonuzda docker birimleri kullanıyorsanız, özellikle üretim senaryolarında kullanılmayan birimleri kaldırmak için docker volume prune ve docker volume rm gibi docker araçlarını kullanmanızı öneririz.
Modül İkizi Ayarları sekmesinde aşağıdaki JSON dosyasını kopyalayın ve kutuya yapıştırın.
{ "deviceAutoDeleteProperties": { "deleteOn": <true, false>, "deleteAfterMinutes": <timeToLiveInMinutes>, "retainWhileUploading": <true,false> }, "deviceToCloudUploadProperties": { "uploadOn": <true, false>, "uploadOrder": "<NewestFirst, OldestFirst>", "cloudStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>; EndpointSuffix=<your end point suffix>", "storageContainersForUpload": { "<source container name1>": { "target": "<your-target-container-name>" } }, "deleteAfterUpload": <true,false> } }Her özelliği yer tutucular tarafından gösterildiği gibi uygun bir değerle yapılandırın. IoT Edge simülatörünü kullanıyorsanız, deviceToCloudUploadProperties ve deviceAutoDeleteProperties tarafından açıklandığı gibi bu özellikler için değerleri ilgili ortam değişkenlerine ayarlayın.
İpucu
Kapsayıcı adınız için adlandırma kısıtlamaları vardır; örneğin, bir
targetön eki kullanmak desteklenmez. Tüm kısıtlamaları görmek için Kapsayıcı Adları'na bakın.Uyarı
Eğer
storageContainersForUploadkapsayıcı hedefiniz adlandırılmamışsa veya null ise, hedefe varsayılan bir ad atanır. Kapsayıcıya yüklemeyi durdurmak istiyorsanız, kapsayıcıdanstorageContainersForUploadtamamen kaldırılmalıdır. Daha fazla bilgi için IoT Edge'dedeviceToCloudUploadPropertiesbakın.
Modülünüz dağıtıldıktan sonra deviceToCloudUploadProperties ve deviceAutoDeleteProperties yapılandırması hakkında bilgi için Modül İkizini Düzenleme bölümüne bakın. İstenen özellikler hakkında daha fazla bilgi için bkz . İstenen özellikleri tanımlama veya güncelleştirme.
Add (Ekle) seçeneğini belirleyin.
Yollar bölümüne devam etmek için İleri: Yollar'ı seçin.
Yolları belirtme
Varsayılan yolları koruyun ve gözden geçirme bölümüne devam etmek için İleri: Gözden Geçir + oluştur'u seçin.
Dağıtımı gözden geçirme
Gözden geçirme bölümünde, önceki iki bölümde yaptığınız seçimlere göre oluşturulan JSON dağıtım bildirimi gösterilir. Eklemediğiniz bildirilen iki modül de vardır: $edgeAgent ve $edgeHub. Bu iki modül IoT Edge çalışma zamanını oluşturur ve her dağıtımda varsayılan olarak gereklidir.
Dağıtım bilgilerinizi gözden geçirin ve Oluştur'u seçin.
Dağıtımınızı doğrulayın
Dağıtımı oluşturduktan sonra IoT hub'ınızın Cihazlar sayfasına dönersiniz.
- Ayrıntılarını açmak için dağıtımla hedeflediğiniz IoT Edge cihazını seçin.
- Cihaz ayrıntılarında, blob depolama modülünün hem Dağıtımda belirtilen hem de Cihaz tarafından bildirilen olarak listelendiğini doğrulayın.
Modülün cihazda başlatılması ve ardından IoT Hub'a geri bildirilmesi birkaç dakika sürebilir. Güncelleştirilmiş durumu görmek için sayfayı yenileyin.
Visual Studio Code'dan dağıtma
Azure IoT Edge, uç çözümler geliştirmenize yardımcı olmak için Visual Studio Code'da şablonlar sağlar. Blob depolama modülüyle yeni bir IoT Edge çözümü oluşturmak ve dağıtım bildirimini yapılandırmak için aşağıdaki adımları kullanın.
Görüntüle>Komut Paleti'ni seçin.
Komut paletinde Azure IoT Edge: New IoT Edge solution komutunu girin ve çalıştırın.
Çözümünüzü oluşturmak için komut paletindeki yönergeleri izleyin.
Alan Değer Klasör seçin Çözüm dosyalarını oluşturmak için Visual Studio Code geliştirme makinenizde konumu seçin. Çözüm adı sağlayın Çözümünüz için açıklayıcı bir ad girin veya varsayılan EdgeSolution'i kabul edin. Modül şablonunu seçin Var Olan Modülü seçin (Tam görüntü URL'sini girin). Modül adı sağlayın Modülünüz için azureblobstorageoniotedge gibi küçük harfli bir ad girin.
IoT Edge'de Azure Blob Depolama modülü için küçük harfli bir ad kullanmak önemlidir. IoT Edge modüllere başvururken büyük/küçük harfe duyarlıdır ve Depolama SDK'sı varsayılan olarak küçük harfe ayarlanır.Modül için Docker görüntüsü sağlama Görüntü URI'sini belirtin: mcr.microsoft.com/azure-blob-storage:latest Visual Studio Code sağladığınız bilgileri alır, bir IoT Edge çözümü oluşturur ve ardından yeni bir pencerede yükler. Çözüm şablonu, blob depolama modülü görüntünüzü içeren bir dağıtım bildirimi şablonu oluşturur, ancak modülün oluşturma seçeneklerini yapılandırmanız gerekir.
Yeni çözüm çalışma alanınızda deployment.template.json açın ve modüller bölümünü bulun. Aşağıdaki yapılandırma değişikliklerini yapın:
Aşağıdaki kodu
createOptionskopyalayıp blob depolama modülü alanına yapıştırın:```json "Env":[ "LOCAL_STORAGE_ACCOUNT_NAME=<local storage account name>", "LOCAL_STORAGE_ACCOUNT_KEY=<local storage account key>" ], "HostConfig":{ "Binds": ["<mount>"], "PortBindings":{ "11002/tcp": [{"HostPort":"11002"}] } }
<local storage account name>değerini hatırlayabileceğiniz bir adla değiştirin. Hesap adları 3 ile 24 karakter uzunluğunda ve küçük harfler ve sayılar olmalıdır. Boşluk yok.değerini 64 baytlık base64 anahtarıyla değiştirin
<local storage account key>. Base64 Oluşturucu gibi araçlarla bir anahtar oluşturabilirsiniz. Blob depolamaya diğer modüllerden erişmek için bu kimlik bilgilerini kullanırsınız.<mount>kapsayıcı işletim sisteminize göre değiştirin. IoT Edge cihazınızda blob modülünün verilerini depolamasını istediğiniz dizinin adını veya mutlak yolunu belirtin. Depolama bağlaması, cihazınızda sağladığınız bir konumu modüldeki belirli bir konuma eşler.Linux kapsayıcıları için biçim depolama biriminiz veya yolunuz<>:/blobroot şeklindedir. Örneğin:
-
Birim bağlamayı kullan:
my-volume:/blobroot - Bind mount kullan: . Kapsayıcı kullanıcısına dizin erişimi verme adımlarını izlediğinden emin olun
Önemli
IoT Edge'de Blob Depolama modülündeki belirli bir konuma işaret eden depolama bağlama değerinin ikinci yarısını değiştirmeyin. Linux kapsayıcıları için depo bağlaması her zaman :/blobroot ile bitmelidir.
IoT Edge modül kapsayıcılarına bağlı birimleri kaldırmaz. Bu davranış tasarım gereğidir, çünkü verilerin yükseltme senaryoları gibi farklı kapsayıcı örnekleri arasında kalıcı hale gelmesine izin verir. Ancak, bu birimler kullanılmamış durumda bırakılırsa, disk alanı tükenmesine ve ardından oluşabilecek sistem hatalarına yol açabilir. Senaryonuzda docker birimleri kullanıyorsanız, özellikle üretim senaryolarında kullanılmayan birimleri kaldırmak için docker volume prune ve docker volume rm gibi docker araçlarını kullanmanızı öneririz.
-
Birim bağlamayı kullan:
deployment.template.json dosyasına aşağıdaki JSON dosyasını ekleyerek deviceToCloudUploadProperties ve deviceAutoDeleteProperties modülünüzü yapılandırın. Her özelliği uygun bir değerle yapılandırın ve dosyayı kaydedin. IoT Edge simülatörünü kullanıyorsanız, değerleri bu özellikler için ilgili ortam değişkenlerine ayarlayın. Bu değişkenleri deviceToCloudUploadProperties ve deviceAutoDeleteProperties'in açıklama bölümünde bulabilirsiniz
"<your azureblobstorageoniotedge module name>":{ "properties.desired": { "deviceAutoDeleteProperties": { "deleteOn": <true, false>, "deleteAfterMinutes": <timeToLiveInMinutes>, "retainWhileUploading": <true, false> }, "deviceToCloudUploadProperties": { "uploadOn": <true, false>, "uploadOrder": "<NewestFirst, OldestFirst>", "cloudStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>;EndpointSuffix=<your end point suffix>", "storageContainersForUpload": { "<source container name1>": { "target": "<target container name1>" } }, "deleteAfterUpload": <true, false> } } }
Modülünüz dağıtıldıktan sonra deviceToCloudUploadProperties ve deviceAutoDeleteProperties yapılandırması hakkında bilgi için Modül İkizini Düzenleme bölümüne bakın. Kapsayıcı oluşturma seçenekleri, yeniden başlatma ilkesi ve istenen durum hakkında daha fazla bilgi için bkzEdgeAgent istenen özellikleri.
deployment.template.json dosyasını kaydedin.
deployment.template.json'a sağ tıklayın ve IoT Edge dağıtım manifestosu oluştur'u seçin.
Visual Studio Code, deployment.template.json sağladığınız bilgileri alır ve yeni bir dağıtım bildirim dosyası oluşturmak için kullanır. Dağıtım bildirimi, çözüm çalışma alanınızdaki yeni bir yapılandırma klasöründe oluşturulur. Bu dosyayı aldıktan sonra Azure CLI 2.0 ile Azure IoT Edge modüllerini dağıtma bölümünde yer alan adımları izleyebilirsiniz.
Birden çok modül örneği dağıtın
Azure Blob Depolama'nın birden çok örneğini IoT Edge modülü üzerinde dağıtmak istiyorsanız, farklı bir depolama yolu sağlamanız ve modülün bağlandığı HostPort değerini değiştirmeniz gerekir. Blob depolama modülleri her zaman konteynerde 11002 numaralı bağlantı noktasını kullanıma sunar, ancak ana bilgisayarda hangi bağlantı noktasına bağlı olduğunu belirleyebilirsiniz.
Azure portalında Container Create Options veya Visual Studio Code'daki deployment.template.json dosyasındaki createOptions alanını düzenleyerek HostPort değerini değiştirin.
"PortBindings":{
"11002/tcp": [{"HostPort":"<port number>"}]
}
Ek blob depolama modüllerine bağlandığınızda, uç noktayı güncelleştirilmiş ana bilgisayar bağlantı noktasına işaret eden şekilde değiştirin.
Proxy desteğini yapılandırma
Kuruluşunuz bir ara sunucu kullanıyorsa edgeAgent ve edgeHub çalışma zamanı modülleri için ara sunucu desteğini yapılandırmanız gerekir. Bu işlem iki görev içerir:
- Cihazda çalışma zamanı daemon'larını ve IoT Edge aracısını yapılandırın.
- Dağıtım bildirimi JSON dosyasındaki modüller için HTTPS_PROXY ortam değişkenini ayarlayın.
Bu işlem, Bir IoT Edge cihazını ara sunucu üzerinden iletişim kuracak şekilde yapılandırma başlığında açıklanmıştır.
Buna ek olarak, blob depolama modülü bildirim dağıtım dosyasındaki HTTPS_PROXY ayarını da gerektirir. Dağıtım bildirimi dosyasını doğrudan düzenleyebilir veya Azure portalını kullanabilirsiniz.
Azure portalında IoT Hub'ınıza gidin ve Cihaz yönetimi menüsünün altında Cihazlar'ı seçin
Yapılandırmak için modülü olan cihazı seçin.
Modülleri Ayarlama'yı seçin.
Sayfanın IoT Edge Modülleri bölümünde blob depolama modülünü seçin.
IoT Edge Modülünü Güncelleştir sayfasında Ortam Değişkenleri sekmesini seçin.
HTTPS_PROXYiçin ekleyin ve Değer için proxy URL'nizi ekleyin.
Güncelleştir'i ve ardından Gözden Geçir + Oluştur'u seçin.
Dağıtım bildiriminde ara sunucu modüle eklendi bölümüne bakın ve Oluştur'u seçin.
Cihaz ayrıntıları sayfasından modülü seçerek ayarı doğrulayın ve IoT Edge Modülleri Ayrıntıları sayfasının alt kısmında Ortam Değişkenleri sekmesini seçin.
Sonraki Adımlar
IoT Edge'de Azure Blob Depolama hakkında daha fazla bilgi edinin.
Dağıtım bildirimlerinin nasıl çalıştığı ve nasıl oluşturulacağı hakkında daha fazla bilgi için bkz . IoT Edge modüllerinin nasıl kullanılabileceğini, yapılandırılabileceğini ve yeniden kullanılabileceğini anlama.