IoT Hub automatikus migrálása az Azure CLI használatával
Az Azure CLI használatával migrálhat egy IoT Hubot egy új régióba, egy új szintre vagy egy új konfigurációba.
A cikkben ismertetett lépések akkor hasznosak, ha:
- Frissítsen az ingyenes szintről egy alapszintű vagy standard szintű IoT Hubra.
- IoT Hub áthelyezése új régióba.
- Az IoT Hub állapotadatainak exportálása biztonsági mentésként.
- Növelje az IoT Hub partícióinak számát.
- Állítson be egy fejlesztési központot éles környezet helyett.
Az automatikus és manuális migrálási lépések összehasonlítása
A cikk eredménye hasonló az Azure IoT Hub azure-beli Resource Manager-sablonok használatával történő migrálásához, de egy másik folyamattal. Mielőtt hozzákezdene, döntse el, hogy melyik folyamat megfelelő a forgatókönyvéhez.
Az Azure CLI folyamata (ez a cikk):
- Migrálja az eszközregisztrációs adatbázist, az útválasztási és végponti adatokat, valamint egyéb konfigurációs adatokat, például IoT Edge üzemelő példányokat vagy az automatikus eszközfelügyeleti konfigurációkat.
- Egyszerűbb kis számú eszköz (például akár 10 000) migrálásához.
- Nincs szükség Azure Storage-fiókra.
- Összegyűjti az útválasztási és fájlfeltöltési végpontok kapcsolati sztringeit, és tartalmazza őket az ARM-sablon kimenetében.
A manuális folyamat:
- Migrálja az eszközregisztrációs adatbázist, valamint az útválasztási és végponti adatokat. Az új IoT Hubban manuálisan kell újból létrehoznia a többi konfigurációs részletet.
- Gyorsabb nagy számú eszköz (például több mint 100 000) migrálására.
- Azure Storage-fiókot használ az eszközregisztrációs adatbázis átviteléhez.
- Megtisztítja a kapcsolati sztringeket az útválasztáshoz és a fájlfeltöltési végpontokhoz az ARM-sablon kimenetéből, és manuálisan kell hozzáadnia őket.
Előfeltételek
Azure CLI
A cikkben ismertetett funkciókhoz az azure-iot bővítmény 0.20.0-s vagy újabb verziója szükséges. A bővítmény verziójának ellenőrzéséhez futtassa a parancsot
az --version
. A bővítmény frissítéséhez futtassa a parancsotaz extension update --name azure-iot
.Ha továbbra is telepítve van az örökölt azure-cli-iot-ext bővítmény, távolítsa el a bővítményt, mielőtt hozzáadja az azure-iot bővítményt .
IoT Hub állapota
Amikor egy IoT Hub állapotának migrálásáról beszélünk, három szempont kombinációjára utalunk:
Azure Resource Manager(ARM)-erőforrások. Ez a szempont minden, ami definiálható egy erőforrássablonban, és ugyanaz az információ, amelyet akkor kap, ha exportálta az erőforrássablont az IoT Hubról a Azure Portal. Az Azure Resource Manager részeként rögzített információk közé tartoznak a következők:
- A beépített eseményközpont megőrzési ideje
- Tanúsítványok
- Felhőből eszközre irányuló tulajdonságok
- Eszköz SAS-ének letiltása
- Helyi hitelesítés letiltása
- Fájlfeltöltési értesítések engedélyezése
- Fájlfeltöltési tárvégpont
- Identitások
- Felhasználó által hozzárendelt identitások
- Rendszer által hozzárendelt identitások (engedélyezve vagy letiltva)
- Hálózati szabálykészletek
- Útválasztás
- Egyéni végpontok
- Tartalék útvonal
- Útvonalak
- Címkék
Konfigurációk. Ez a szempont olyan IoT Hub-szempontokra érvényes, amelyek nem jelennek meg ARM-sablonban. Ez a szempont az automatikus eszközfelügyeleti konfigurációkra és IoT Edge üzemelő példányokra vonatkozik.
Eszközök. Ez a szempont az eszközregisztrációs adatbázisban található információkat jelöli, beleértve a következőket:
- Eszközidentitások és ikerpéldányok
- Modulidentitások és ikerpéldányok
Előfordulhat, hogy az itt nem felsorolt IoT Hub tulajdonság vagy konfiguráció exportálása vagy importálása nem megfelelő.
IoT Hub állapotának exportálása
Az az iot hub state export paranccsal exportálhatja egy IoT Hub állapotát egy JSON-fájlba.
Ha az exportálási és importálási lépéseket is egy paranccsal szeretné futtatni, tekintse meg az IoT Hub migrálását ismertető cikk későbbi szakaszát.
Az IoT Hub állapotának exportálásakor kiválaszthatja, hogy mely szempontokat szeretné exportálni.
Paraméter | Részletek |
---|---|
--aspects |
Az exportálandó állapotok. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagyeszköz. Ha ezt a paramétert kihagyja, a rendszer mindhárom szempontot exportálja. |
--state-file -f |
Annak a fájlnak az elérési útja, ahol az állapotinformáció meg van írva. |
--replace -r |
Ha ez a paraméter szerepel a fájlban, akkor az exportálási parancs felülírja az állapotfájl tartalmát. |
--hub-name -n vagy --login -l |
A forrás IoT Hub neve (-n ) vagy a forrás IoT Hub kapcsolati sztring (-l ). Ha mindkettő meg van adva, akkor a kapcsolati sztring elsőbbséget élvez. |
--resource-group -g |
A forrás IoT Hub erőforráscsoportjának neve. |
Az alábbi példa egy IoT Hub állapotának minden aspektusát exportálja egy myHub-state nevű fájlba:
az iot hub state export --hub-name myHub --state-file ./myHub-state.json
Az alábbi példa csak az IoT Hub állapotának eszközeit és Azure-Resource Manager aspektusait exportálja, és felülírja a meglévő fájl tartalmát:
az iot hub state export --hub-name myHub --state-file ./myHub-state.json --aspects arm devices --replace
Végpontok exportálása
Ha egy IoT Hub Azure Resource Manager aspektusát exportálja, az exportálási parancs lekéri a kapcsolati sztringeket minden olyan végponthoz, amely kulcsalapú hitelesítéssel rendelkezik, és belefoglalja őket a kimeneti ARM-sablonba.
Az exportálási parancs az összes végpontot is ellenőrzi annak ellenőrzéséhez, hogy az erőforrás, amelyhez csatlakozik, továbbra is létezik-e. Ha nem, akkor a végpont és a végpontot használó útvonalak nem lesznek exportálva.
IoT Hub állapotának importálása
Az az iot hub state import paranccsal importálhatja az állapotinformációkat egy exportált fájlból egy új vagy meglévő IoT Hubba.
Ha az exportálási és importálási lépéseket is egy paranccsal szeretné futtatni, tekintse meg az IoT Hub migrálását ismertető cikk későbbi szakaszát.
Paraméter | Részletek |
---|---|
--aspects |
Az importálandó állapot aspektusai. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagyeszköz. Ha ezt a paramétert kihagyja, a rendszer mindhárom szempontot importálja. |
--state-file -f |
Az exportált állapotfájl elérési útja. |
--replace -r |
Ha ez a paraméter szerepel, akkor az importálási parancs törli a célközpont aktuális állapotát. |
--hub-name -n vagy --login -l |
A cél IoT Hub neve (-n ) vagy a cél IoT Hub kapcsolati sztring (-l ). Ha mindkettő meg van adva, akkor a kapcsolati sztring elsőbbséget élvez. |
--resource-group -g |
A cél IoT Hub erőforráscsoportjának neve. |
Az alábbi példa minden aspektust importál egy új IoT Hubba, amely akkor jön létre, ha még nem létezik:
az iot hub state import --hub-name myNewHub --state-file ./myHub-state.json
Az alábbi példa csak az eszközöket és konfigurációkat importálja egy új IoT Hubba, amelynek már léteznie kell, és felülírja a meglévő eszközöket és konfigurációkat:
az iot hub state import --hub-name myNewHub --state-file ./myHub-state.json --aspects devices configurations --replace
Új IoT Hub létrehozása állapotimportálással
az iot hub state import
A paranccsal létrehozhat egy új IoT Hubot, vagy írhat egy meglévő IoT Hubba.
Ha új IoT Hub szeretne létrehozni, akkor az importálási parancsba bele kell foglalnia a arm
szempontot. Ha arm
nem szerepel a parancsban, és a célközpont nem létezik, az importálási parancs sikertelen lesz.
Ha a célközpont nem létezik, akkor az --resource-group
importálási parancshoz is szükség van a paraméterre.
Meglévő IoT Hub frissítése állapotimportálással
Ha a cél IoT Hub már létezik, akkor a arm
parancshoz nincs szükség a az iot hub state import
szempontra. Ha belefoglalja a arm
szempontot, a rendszer felülírja az összes erőforrás-tulajdonságot, kivéve az alábbi tulajdonságokat, amelyek a központ létrehozása után nem módosíthatók:
- Hely
- SKU
- Beépített Event Hubs-partíciók száma
- Adattárolási hely
- Funkciók
Ha a --resource-group
paraméter az importálási parancsban van megadva, és nem azonos az IoT Hub aktuális erőforráscsoportjával, akkor a parancs meghiúsul, mert a már létezővel azonos nevű új központot próbál létrehozni.
Ha az importálási parancsba belefoglalja a --replace
jelzőt, akkor a rendszer eltávolítja a következő IoT Hub-szempontokat a célközpontból a központ állapotának feltöltése előtt:
- ARM: A célközpontban feltöltött tanúsítványok törlődnek. Ha egy tanúsítvány jelen van, frissítenie kell egy etaget.
- Eszközök: Minden eszköz és modul, peremhálózat és nem peremhálózat törlődik.
- Konfigurációk: Minden ADM-konfiguráció és IoT Edge üzemelő példány törlődik.
IoT Hub migrálása
Az az iot hub state migrate paranccsal migrálhatja egy IoT Hub állapotát egy új vagy meglévő IoT Hubba.
Ez a parancs egyetlen parancsba burkolja az exportálási és importálási lépéseket, de nincsenek kimeneti fájljai. Az IoT Hub állapotának exportálása és az IoT Hub állapotának importálása című szakaszban ismertetett összes útmutató és korlátozás a state migrate
parancsra is vonatkozik.
Ha egy eszközregisztrációs adatbázist sok eszközzel (például néhány száz vagy néhány ezer eszközzel) migrál, egyszerűbb és gyorsabb lehet az exportálási és importálási parancsok külön futtatása a migrálási parancs futtatása helyett.
Paraméter | Részletek |
---|---|
--aspects |
A migrálni kívánt állapot-szempontok. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagyeszköz. Ha ezt a paramétert kihagyja, akkor mindhárom szempont migrálva lesz. |
--replace -r |
Ha ez a paraméter szerepel, akkor a migrálási parancs törli a célközpont aktuális állapotát. |
--destination-hub --dh vagy --destination-hub-login --dl |
A cél IoT Hub neve (--dh ) vagy a cél IoT Hub kapcsolati sztring (--dl ). Ha mindkettő meg van adva, akkor a kapcsolati sztring elsőbbséget élvez. |
--destination-resource-group --dg |
A cél IoT Hub erőforráscsoportjának neve. A célerőforrás-csoportra akkor van szükség, ha a célközpont nem létezik. |
--origin-hub --oh vagy --origin-hub-login --ol |
A forrás IoT Hub neve (--oh ) vagy a forrás IoT Hub kapcsolati sztring (--ol ). Ha mindkettő meg van adva, akkor a kapcsolati sztring elsőbbséget élvez. A kapcsolati sztring használatával elkerülheti, hogy be kell jelentkeznie az Azure CLI-munkamenetbe. |
--origin-resource-group --og |
A forrás IoT Hub erőforráscsoportjának neve. |
Az alábbi példa a forrásközpont minden aspektusát áttelepíti a célközpontba, amely akkor jön létre, ha nem létezik:
az iot hub state migrate --origin-hub myHub --origin-resource-group myGroup --destination-hub myNewHub --destination-resource-group myNewGroup
Migrálás hibaelhárítása
Ha nem tud eszközöket vagy konfigurációkat exportálni vagy importálni, ellenőrizze, hogy rendelkezik-e hozzáféréssel ezekhez a tulajdonságokhoz. A hozzáférés ellenőrzésének egyik módja az vagy az iot hub configuration list
parancsok az iot hub device-identity list
futtatása.
Ha a az iot hub state migrate
parancs sikertelen, próbálja meg külön futtatni az exportálási és importálási parancsokat. A két parancs ugyanazt a funkciót eredményezi, mint egyedül a migrálási parancs, de külön futtatásukkal áttekintheti az exportálási parancsból létrehozott állapotfájlokat.
Következő lépések
Az IoT Hub identitásjegyzékén végzett tömeges műveletekről további információt az IoT Hub eszközidentitások importálása és exportálása című témakörben talál.