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.
IoT hub'ını yeni bir bölgeye, yeni bir katmana veya yeni bir yapılandırmaya geçirmek için Azure CLI'yi kullanın.
Bu makaledeki adımlar, aşağıdakileri yapmak istiyorsanız kullanışlıdır:
- Ücretsiz katmandan temel veya standart katman IoT hub'ına yükseltin.
- IoT hub'larını yeni bir bölgeye taşıma.
- Yedek olarak sahip olmak için IoT hub'ı durum bilgilerini dışarı aktarın.
- IoT hub'ının bölüm sayısını artırın.
- Üretim ortamı yerine geliştirme için bir merkez ayarlayın.
Otomatik ve el ile geçiş adımlarını karşılaştırma
Bu makalenin sonucu, Azure Resource Manager şablonlarını kullanarak ancak farklı bir işlemle Azure IoT hub'ını geçirme işlemine benzer. Başlamadan önce senaryonuz için hangi işlemin doğru olduğuna karar verin.
Azure CLI işlemi (bu makale):
- Cihaz kayıt defterinizi, yönlendirme ve uç nokta bilgilerinizi ve IoT Edge dağıtımları veya otomatik cihaz yönetimi yapılandırmaları gibi diğer yapılandırma ayrıntılarını geçirir.
- Az sayıda cihazı (örneğin, 10.000'e kadar) geçirmek daha kolaydır.
- Azure Depolama hesabı gerektirmez.
- Anahtar tabanlı kimlik doğrulaması kullanan yönlendirme ve dosya yükleme uç noktaları için bağlantı dizesi toplar ve bunları ARM şablonu çıkışına ekler.
El ile gerçekleştirilen işlem:
- Cihaz kayıt defterinizi, yönlendirme ve uç nokta bilgilerinizi geçirir. Yeni IoT hub'ında diğer yapılandırma ayrıntılarını el ile yeniden oluşturmanız gerekir.
- Çok sayıda cihazı (örneğin, 100.000'den fazla) geçirmek için daha hızlıdır.
- Cihaz kayıt defterini aktarmak için bir Azure Depolama hesabı kullanır.
- ARM şablonu çıkışından anahtar tabanlı kimlik doğrulaması kullanan yönlendirme ve dosya yükleme uç noktalarını bağlantı dizesi temizler ve bunları el ile yeniden eklemeniz gerekir.
Önkoşullar
Azure CLI
Bu makalede açıklanan özellikler için azure-iot uzantısının 0.20.0 veya daha yeni bir sürümü gerekir. Uzantı sürümünüzü denetlemek için komutunu çalıştırın
az --version. Uzantınızı güncelleştirmek için komutunu çalıştırınaz extension update --name azure-iot.Eski azure-cli-iot-ext uzantısı hala yüklüyse, azure-iot uzantısını eklemeden önce bu uzantıyı kaldırın.
IoT hub'ı durumu
IoT hub'ının durumunu geçirme hakkında konuştuğumuzda üç yönün birleşiminden bahsediyoruz:
Azure Resource Manager (ARM) kaynakları. Bu özellik, bir kaynak şablonunda tanımlanabilir her şeydir ve kaynak şablonunu Azure portalında IoT hub'ınızdan dışarı aktardıysanız elde ettiğiniz bilgilerle aynıdır. Azure Resource Manager'ın bir parçası olarak yakalanan bilgiler şunları içerir:
- Yerleşik olay hub'ına ait saklama süresi
- Sertifikalar
- Buluttan cihaza özellikler
- Cihaz SAS'sini devre dışı bırakma
- Yerel kimlik doğrulamasını devre dışı bırakma
- Dosya karşıya yükleme bildirimlerini etkinleştirme
- Dosya yükleme depolama uç noktası
- Kimlik
- Kullanıcı tarafından atanan kimlikler
- Sistem tarafından atanan kimlikler (etkin veya devre dışı)
- Ağ kuralı kümeleri
- Yönlendirme
- Özel uç noktalar
- Geri dönüş yolu
- Rotalar
- Etiketler
Yapılandırma. Bu özellik, BIR IOT hub'ının ARM şablonunda temsililmeyen yönlerine yöneliktir. Bu özellik özellikle otomatik cihaz yönetimi yapılandırmalarını ve IoT Edge dağıtımlarını kapsar.
Aygıtları. Bu özellik, cihaz kayıt defterinizdeki bilgileri temsil eder ve bunlar şunlardır:
- Cihaz kimlikleri ve ikizler
- Modül kimlikleri ve ikizleri
Burada listelenmeyen herhangi bir IoT Hub özelliği veya yapılandırması doğru şekilde dışarı veya içeri aktarılamayabilir.
IoT hub'ının durumunu dışarı aktarma
IoT hub'ının durumunu bir JSON dosyasına aktarmak için az iot hub state export komutunu kullanın.
Tek bir komutta hem dışarı aktarma hem de içeri aktarma adımlarını çalıştırmak istiyorsanız, bu makalenin devamında yer alan IoT hub'ını geçirme bölümüne bakın.
IoT hub'ının durumunu dışarı aktardığınızda, dışarı aktarmanın hangi yönlerini seçebilirsiniz.
| Parametre | Ayrıntılar |
|---|---|
--aspects |
Dışarı aktaracak durum yönleri. Kabul edilen değerlerden birini veya daha fazlasını belirtin: arm, yapılandırmalar veya cihazlar. Bu parametre dışarıda bırakılırsa, üç yönü de dışarı aktarılır. |
--state-file -f |
Durum bilgilerinin yazıldığı dosyanın yolu. |
--replace -r |
Bu parametre dahil edilirse, dışarı aktarma komutu durum dosyasının içeriğinin üzerine yazar. |
--hub-name -nveya --login -l |
Kaynak IoT hub'ının adı (-n) veya kaynak IoT hub'ının (-l) bağlantı dizesi. Her ikisi de sağlanmışsa, bağlantı dizesi öncelik alır. |
--resource-group -g |
Kaynak IoT hub'ının kaynak grubunun adı. |
Aşağıdaki örnek, IoT hub'ının durumunun tüm yönlerini myHub-state adlı bir dosyaya aktarır:
az iot hub state export --hub-name myHub --state-file ./myHub-state.json
Aşağıdaki örnek, ioT hub'ının durumunun yalnızca cihazları ve Azure Resource Manager yönlerini dışarı aktarır ve var olan dosyanın içeriğinin üzerine yazar:
az iot hub state export --hub-name myHub --state-file ./myHub-state.json --aspects arm devices --replace
Uç noktaları dışarı aktarma
IoT hub'ının Azure Resource Manager yönünü dışarı aktarmayı seçerseniz, dışarı aktarma komutu anahtar tabanlı kimlik doğrulamasına sahip tüm uç noktaların bağlantı dizesi alır ve bunları çıkış ARM şablonuna ekler.
Dışarı aktarma komutu ayrıca bağlandığınız kaynağın hala var olduğunu doğrulamak için tüm uç noktaları denetler. Aksi takdirde, bu uç nokta ve bu uç noktayı kullanan tüm yollar dışarı aktarılmaz.
IoT hub'ının durumunu içeri aktarma
Dışarı aktarılan bir dosyadaki durum bilgilerini yeni veya mevcut bir IoT hub'ına aktarmak için az iot hub state import komutunu kullanın.
Tek bir komutta hem dışarı aktarma hem de içeri aktarma adımlarını çalıştırmak istiyorsanız, bu makalenin devamında yer alan IoT hub'ını geçirme bölümüne bakın.
| Parametre | Ayrıntılar |
|---|---|
--aspects |
İçeri aktarılacağınız durum yönleri. Kabul edilen değerlerden birini veya daha fazlasını belirtin: arm, yapılandırmalar veya cihazlar. Bu parametre dışarıda bırakılırsa, üç yönü de içeri aktarılır. |
--state-file -f |
Dışarı aktarılan durum dosyasının yolu. |
--replace -r |
Bu parametre dahil edilirse, içeri aktarma komutu hedef hub'ın geçerli durumunu siler. |
--hub-name -nveya --login -l |
Hedef IoT hub'ının adı (-n) veya hedef IoT hub'ının (-l) bağlantı dizesi. Her ikisi de sağlanmışsa, bağlantı dizesi öncelik alır. |
--resource-group -g |
Hedef IoT hub'ının kaynak grubunun adı. |
Aşağıdaki örnek, tüm yönleri yeni bir IoT hub'ına aktarır ve henüz yoksa oluşturulur:
az iot hub state import --hub-name myNewHub --state-file ./myHub-state.json
Aşağıdaki örnek, mevcut olması gereken yeni bir IoT hub'ına yalnızca cihazları ve yapılandırmaları içeri aktarır ve mevcut cihazların ve yapılandırmaların üzerine yazar:
az iot hub state import --hub-name myNewHub --state-file ./myHub-state.json --aspects devices configurations --replace
Durum içeri aktarma ile yeni bir IoT hub'ı oluşturma
Komutunu kullanarak az iot hub state import yeni bir IoT hub'ı oluşturabilir veya mevcut bir IoT hub'ına yazabilirsiniz.
Yeni bir IoT Hub oluşturmak istiyorsanız, içeri aktarma komutuna arm bu özelliği eklemeniz gerekir.
arm Komutta yoksa ve hedef hub yoksa içeri aktarma komutu başarısız olur.
Hedef hub yoksa, --resource-group içeri aktarma komutu için parametresi de gereklidir.
Mevcut IoT hub'ına durum içeri aktarma ile güncelleştirme
Hedef IoT hub'ı zaten varsa, arm komut için az iot hub state import bu özellik gerekli değildir. Bu özelliği eklerseniz arm , hub oluşturulduktan sonra değiştirilebilen aşağıdaki özellikler dışında tüm kaynak özelliklerinin üzerine yazılır:
- Konum
- SKU
- Yerleşik Event Hubs bölüm sayısı
- Veri yerleşimi
- Özellikler
--resource-group İçeri aktarma komutunda belirtilirse ve IoT hub'ından geçerli kaynak grubundan farklıysa, komut zaten var olanla aynı ada sahip yeni bir hub oluşturmaya çalıştığından başarısız olur.
İçeri aktarma komutuna bayrağını --replace eklerseniz, hub durumu karşıya yüklenmeden önce aşağıdaki IoT hub yönleri hedef hub'dan kaldırılır:
- ARM: Hedef hub'da karşıya yüklenen tüm sertifikalar silinir. Bir sertifika varsa güncelleştirilmesi için bir etag gerekir.
- Cihazlar: Uç ve kenar olmayan tüm cihazlar ve modüller silinir.
- Yapılandırmalar: Tüm cihaz yönetimi yapılandırmaları ve IoT Edge dağıtımları silinir.
IoT hub'ına geçiş
Bir IoT hub'ının durumunu yeni veya mevcut bir IoT hub'ına geçirmek için az iot hub state migrate komutunu kullanın.
Bu komut dışarı ve içeri aktarma adımlarını tek bir komuta sarmalar, ancak çıkış dosyası yoktur. IoT hub'ının durumunu dışarı aktarma ve IoT hub'ının durumunu içeri aktarma bölümlerinde açıklanan tüm yönergeler ve sınırlamalar komut için state migrate de geçerlidir.
Bir cihaz kayıt defterini birçok cihazla (örneğin, birkaç yüz veya birkaç bin) geçiriyorsanız, geçiş komutunu çalıştırmak yerine dışarı ve içeri aktarma komutlarını ayrı ayrı çalıştırmak daha kolay ve daha hızlı olabilir.
| Parametre | Ayrıntılar |
|---|---|
--aspects |
Geçirilen durum yönleri. Kabul edilen değerlerden birini veya daha fazlasını belirtin: arm, yapılandırmalar veya cihazlar. Bu parametre dışarıda bırakılırsa, üç yönü de geçirilir. |
--replace -r |
Bu parametre dahil edilirse, geçiş komutu hedef hub'ın geçerli durumunu siler. |
--destination-hub --dhveya --destination-hub-login --dl |
Hedef IoT hub'ının adı (--dh) veya hedef IoT hub'ının (--dl) bağlantı dizesi. Her ikisi de sağlanmışsa, bağlantı dizesi öncelik alır. |
--destination-resource-group --dg |
Hedef IoT hub'ının kaynak grubunun adı. Hedef hub yoksa hedef kaynak grubu gereklidir. |
--origin-hub --ohveya --origin-hub-login --ol |
Kaynak IoT hub'ının adı (--oh) veya kaynak IoT hub'ının (--ol) bağlantı dizesi. Her ikisi de sağlanmışsa, bağlantı dizesi öncelik alır. Azure CLI oturumunda oturum açmak zorunda kalmamak için bağlantı dizesi kullanın. |
--origin-resource-group --og |
Kaynak IoT hub'ının kaynak grubunun adı. |
Aşağıdaki örnek, kaynak hub'ın tüm yönlerini, yoksa oluşturulan hedef hub'a geçirir:
az iot hub state migrate --origin-hub myHub --origin-resource-group myGroup --destination-hub myNewHub --destination-resource-group myNewGroup
Geçiş sorunlarını giderme
Cihazları veya yapılandırmaları dışarı veya içeri aktaramıyorsanız bu özelliklere erişiminizin olup olmadığını denetleyin. Erişiminizi doğrulamanın bir yolu, veya az iot hub configuration list komutlarını az iot hub device-identity list çalıştırmaktır.
az iot hub state migrate Komut başarısız olursa dışarı ve içeri aktarma komutlarını ayrı ayrı çalıştırmayı deneyin. İki komut yalnızca geçiş komutuyla aynı işleve neden olur, ancak bunları ayrı olarak çalıştırarak dışarı aktarma komutundan oluşturulan durum dosyalarını gözden geçirebilirsiniz.
Sonraki adımlar
IoT hub'ında kimlik kayıt defterinde toplu işlemler gerçekleştirme hakkında daha fazla bilgi için bkz . IoT Hub cihaz kimliklerini içeri ve dışarı aktarma.