Megosztás a következőn keresztül:


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