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 szereplő lépések akkor hasznosak, ha az alábbiakat szeretné elvégezni:

  • 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.

Automatikus és manuális migrálási lépések összehasonlítása

A cikk eredménye hasonló ahhoz, hogyan migrálhat egy Azure IoT Hubot Azure Resource Manager-sablonok használatával, de egy másik folyamattal. Mielőtt hozzákezdene, döntse el, hogy melyik folyamat megfelelő a forgatókönyvhöz.

  • Az Azure CLI folyamata (ez a cikk):

    • Migrálja az eszközregisztrációs adatbázist, az útválasztási és végpontadatokat, valamint egyéb konfigurációs adatokat, például az IoT Edge-telepítéseket vagy az automatikus eszközfelügyeleti konfigurációkat.
    • Egyszerűbb kis számú eszköz áttelepítéséhez (például 10 000-ig).
    • Nincs szükség Azure Storage-fiókra.
    • Összegyűjti a kulcsalapú hitelesítést használó útválasztási és fájlfeltöltési végpontok kapcsolati sztring, é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égpontadatokat. Manuálisan kell újból létrehoznia az új IoT Hub egyéb konfigurációs adatait.
    • Gyorsabb nagy számú eszköz (például több mint 100 000) áttelepítéséhez.
    • Azure Storage-fiók használatával továbbítja az eszközregisztrációs adatbázist.
    • Az ARM-sablon kimenetéből kulcsalapú hitelesítést használó útválasztási és fájlfeltöltési végpontok kapcsolati sztring megtisztítja, é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 következőt az --version: . A bővítmény frissítéséhez futtassa a következőt az 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 az erőforrássablont az IoT Hubról exportálta az Azure Portalon. Az Azure Resource Manager-szempont részeként rögzített információk a következők:

    • A beépített eseményközpont megőrzési ideje
    • Diplomák
    • Felhő–eszköz tulajdonságok
    • Eszköz SAS 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 az ARM-sablonban nem szereplő IoT Hub-szempontokra érvényes. Ez a szempont az automatikus eszközfelügyeleti konfigurációkat és az IoT Edge-alapú üzembe helyezéseket foglalja magában.

  • Eszközök. Ez a szempont az eszközregisztrációs adatbázisban található információkat jelöli, amelyek a következőket tartalmazzák:

    • Eszközidentitások és ikerpéldányok
    • Modulidentitások és ikerpéldányok

Előfordulhat, hogy az itt nem felsorolt IoT Hub-tulajdonságok vagy konfigurációk nem lesznek megfelelően exportálva vagy importálva.

IoT Hub állapotának exportálása

Az az iot hub state export parancsával exportálhatja az IoT Hub állapotát egy JSON-fájlba.

Ha az exportálási és importálási lépéseket is egy parancsban szeretné futtatni, tekintse meg a cikk későbbi, IoT Hub migrálására vonatkozó szakaszát.

Az IoT Hub állapotának exportálásakor kiválaszthatja, hogy mely szempontokat exportálja.

Paraméter Részletek
--aspects Az exportálandó állapot szempontjai. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagy eszkö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, amelyben az állapotinformáció meg van írva.
--replace -r Ha ez a paraméter szerepel a fájlban, az exportálási parancs felülírja az állapotfájl tartalmát.
--hub-name -n
vagy
--login -l
A forrás IoT Hub (-n) vagy a forrás IoT Hub (-l) kapcsolati sztring neve. 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 exportálja az IoT Hub állapotának minden aspektusát 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ának exportálását választja, az exportálási parancs lekéri a kulcsalapú hitelesítéssel rendelkező végpontok kapcsolati sztring, é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 parancsával importálhat á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 parancsban szeretné futtatni, tekintse meg a cikk későbbi, IoT Hub migrálására vonatkozó szakaszát.

Paraméter Részletek
--aspects Az importálandó állapot szempontjai. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagy eszkö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 a fájlban, 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 (-n) vagy a cél IoT Hub (-l) kapcsolati sztring neve. 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ós szempontokat 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 Hubra.

Ha új IoT Hubot 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 meghiúsul.

Ha a célközpont nem létezik, akkor a --resource-group paraméterre is szükség van az importálási parancshoz.

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 a szempontot is tartalmazza arm , az összes erőforrástulajdonság felülíródik, kivéve az alábbi tulajdonságokat, amelyek a központ létrehozása után nem módosíthatók:

  • Hely
  • Termékváltozat
  • Beépített Event Hubs-partíciók száma
  • Adattárolási hely
  • Funkciók

Ha a --resource-group parancs az importálási parancsban van megadva, és eltér az IoT Hub aktuális erőforráscsoporttól, akkor a parancs meghiúsul, mert egy olyan új központot próbál létrehozni, amelynek a neve megegyezik a már létezővel.

Ha az importálási parancsba belefoglalja a --replace jelzőt, a rendszer a következő IoT Hub-szempontokat távolítja el a célközpontból a hub á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: A rendszer minden eszközt és modult, peremhálózatot és nem peremhálózatot töröl.
  • Konfigurációk: Minden eszközfelügyeleti konfiguráció és IoT Edge-telepítés 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 csomagolja 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-szakaszok á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 migrál (például néhány száz vagy néhány ezer), 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álandó állapot szempontjai. Adjon meg egy vagy több elfogadott értéket: arm, konfiguráció vagy eszköz. Ha ez a paraméter ki van hagyva, a rendszer mind a három szempontot migrálja.
--replace -r Ha ez a paraméter szerepel, 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 (--dh) vagy a cél IoT Hub (--dl) kapcsolati sztring neve. 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 (--oh) vagy a forrás IoT Hub (--ol) kapcsolati sztring neve. Ha mindkettő meg van adva, akkor a kapcsolati sztring elsőbbséget élvez. A kapcsolati sztring használatával ne kelljen bejelentkeznie 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 tudja exportálni vagy importálni az eszközöket vagy konfigurációkat, 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 a parancsok 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 a migrálási parancs, de külön futtatva á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.