Oktatóanyag: Eszközadatok küldése az Azure Storage-ba az IoT Hub üzenet-útválasztásával

Az Azure IoT Hub üzenet-útválasztásával telemetriai adatokat küldhet az IoT-eszközökről olyan Azure-szolgáltatásokba, mint a blobtároló, a Service Bus-üzenetsorok, a Service Bus-témakörök és az Event Hubs. Minden IoT Hub rendelkezik egy alapértelmezett beépített végponttal, amely kompatibilis az Event Hubs szolgáltatással. Az útválasztási lekérdezések definiálásával egyéni végpontokat is létrehozhat, és üzeneteket irányíthat más Azure-szolgáltatásokba. Az IoT Hubra érkező összes üzenet az összes végpontra lesz irányítva, amelynek útválasztási lekérdezései megegyeznek. Ha egy üzenet nem egyezik a megadott útválasztási lekérdezésekkel, a rendszer az alapértelmezett végpontra irányítja.

Az oktatóanyagban az alábbi feladatokat fogja végrehajtani:

  • Hozzon létre egy IoT Hubot, és küldjön neki eszközüzeneteket.
  • Hozzon létre egy tárfiókot.
  • Hozzon létre egy egyéni végpontot a tárfiókhoz, és irányozza az üzeneteket az IoT Hubról.
  • Eszközüzenetek megtekintése a tárfiók blobjában.

Előfeltételek

  • Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

  • IoT Hub az Azure-előfizetésben. Ha még nem rendelkezik központokkal, kövesse az IoT Hub létrehozása című témakörben leírt lépéseket.

  • Ez az oktatóanyag a C#-hoz készült Azure IoT SDK-ból származó mintakódot használja.

    • Töltse le vagy klónozza az SDK-adattárat a fejlesztőgépre.
    • .NET Core 3.0.0-s vagy újabb verzióval rendelkezik a fejlesztői gépen. Ellenőrizze a verziót a futtatással dotnet --version , és szükség esetén töltse le a .NET-et .
  • Győződjön meg arról, hogy a 8883-as port nyitva van a tűzfalon. Az oktatóanyagban szereplő minta MQTT protokollt használ, amely a 8883-es porton keresztül kommunikál. Ez a port néhány vállalati és oktatási hálózati környezetben blokkolható. További információkért és a probléma megoldásának módjaiért tekintse meg az IoT Hubra (MQTT) való Csatlakozás.

  • Igény szerint telepítse az Azure IoT Explorert. Ez az eszköz segít megfigyelni az üzeneteket, amint megérkeznek az IoT Hubra. Ez a cikk az Azure IoT Explorert használja.

Az Azure Portalnak nincsenek egyéb előfeltételei.

Eszköz regisztrálása és üzenetek küldése az IoT Hubra

Regisztráljon egy új eszközt az IoT Hubon.

  1. Jelentkezzen be az Azure Portalra , és lépjen az IoT Hubra.

  2. Válassza az Eszközök lehetőséget a menü Eszközfelügyelet szakaszában.

  3. Válassza az Eszköz hozzáadása lehetőséget.

    Screenshot that shows adding a new device in the Azure portal.

  4. Adjon meg egy eszközazonosítót, és válassza a Mentés lehetőséget.

  5. Az új eszköznek szerepelnie kell az eszközök listájában. Ha nem, frissítse a lapot. Az eszközadatok lap megnyitásához válassza ki az eszközazonosítót.

  6. Másolja ki az egyik eszközkulcsot, és mentse. Ezzel az értékkel konfigurálhatja a szimulált eszköz telemetriai üzeneteket létrehozó mintakódot.

    Screenshot that shows copying the primary key from the device details page.

Most, hogy rendelkezik egy eszközazonosítóval és -kulccsal, a mintakód használatával megkezdheti az eszköz telemetriai üzeneteinek küldését az IoT Hubra.

Tipp.

Ha az oktatóanyaghoz tartozó Azure CLI-lépéseket követi, futtassa a mintakódot egy külön munkamenetben. Így engedélyezheti a mintakód futtatását a parancssori felület többi lépésének végrehajtása közben.

  1. Ha nem tette meg az előfeltételek részét, töltse le vagy klónozza az Azure IoT SDK for C#-adattárat a GitHubról.

  2. Az SDK letöltését vagy klónozását tartalmazó mappából lépjen a azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample mappába.

  3. Telepítse az Azure IoT C# SDK-t és a szükséges függőségeket a HubRoutingSample.csproj fájlban megadott módon:

    dotnet restore
    
  4. Nyissa meg a Parameters.cs fájlt egy tetszőleges szerkesztőben. Ez a fájl a minta által támogatott paramétereket jeleníti meg. A minta futtatásakor csak a PrimaryConnectionString paraméter lesz használva ebben a cikkben. Tekintse át a fájlban található kódot. Nincs szükség módosításokra.

  5. Hozza létre és futtassa a mintakódot a következő paranccsal:

    Cserélje le <myDevicePrimaryConnectionString> az IoT Hubon lévő eszköz elsődleges kapcsolati sztring.

    dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
    
  6. Az IoT Hubra küldött üzeneteket a kimenetre nyomtatva kell látnia. Hagyja futni a programot az oktatóanyag során.

Az IoT Explorer konfigurálása üzenetek megtekintéséhez

Konfigurálja az IoT Explorert úgy, hogy csatlakozzon az IoT Hubhoz, és olvasson üzeneteket a beépített végpontra érkezve.

Először kérje le az IoT Hub kapcsolati sztring.

  1. Az Azure Portalon keresse meg az IoT-központot.

  2. Válassza a megosztott hozzáférési szabályzatokat a menü Biztonsági beállítások szakaszában.

  3. Válassza ki az iothubowner szabályzatot.

    Open the iothubowner shared access policy.

  4. Másolja ki az elsődleges kapcsolati sztring.

    Copy the iothubowner primary connection string.

Ezzel a kapcsolati sztring konfigurálhatja az IoT Explorert az IoT Hubhoz.

  1. Nyissa meg az IoT Explorert a fejlesztői gépen.

  2. Válassza a Kapcsolat hozzáadása lehetőséget.

    Screenshot that shows adding an IoT hub connection in IoT Explorer.

  3. Illessze be a központ kapcsolati sztring a szövegmezőbe.

  4. Válassza a Mentés lehetőséget.

  5. Miután csatlakozott az IoT Hubhoz, látnia kell az eszközök listáját. Válassza ki az oktatóanyaghoz létrehozott eszközazonosítót.

  6. Válassza a Telemetria lehetőséget.

  7. Ha az eszköz továbbra is fut, válassza a Start lehetőséget. Ha az eszköz nem fut, nem jelenik meg a telemetria.

    Start monitoring device telemetry in IoT Explorer.

  8. Látnia kell az eszközről érkező üzeneteket, felül pedig a legújabb üzenet jelenik meg.

    View messages arriving at IoT hub on the built-in endpoint.

    Néhány pillanatig figyelje meg a bejövő üzeneteket, és ellenőrizze, hogy három különböző típusú üzenet jelenik-e meg: normál, tárolási és kritikus. Ezt követően leállíthatja az eszközt.

Ezek az üzenetek mind az IoT Hub alapértelmezett beépített végpontjához érkeznek. A következő szakaszokban létrehozunk egy egyéni végpontot, és az üzenet tulajdonságai alapján átirányítjuk az üzenetek egy részét a tárolóba. Ezek az üzenetek nem jelennek meg az IoT Explorerben, mert az üzenetek csak akkor kerülnek a beépített végpontra, ha nem felelnek meg az IoT Hub más útvonalainak.

Üzenetek útválasztásának beállítása

A szimulált eszköz által az üzenethez csatolt tulajdonságok alapján különböző erőforrásokba fogja irányítani az üzeneteket. Az egyénileg nem irányított üzeneteket a rendszer az alapértelmezett végpontra (üzenetek/események) küldi el.

Az oktatóanyag mintaalkalmazása hozzárendel egy szinttulajdonságot az IoT Hubnak küldött minden egyes üzenethez. A rendszer véletlenszerűen hozzárendeli az egyes üzeneteket a normál, a tárolási vagy a kritikus szinthez.

Az első lépés annak a végpontnak a beállítása, amelyhez az adatok irányítva lesznek. A második lépés az adott végpontot használó üzenetútvonal beállítása. Az útválasztás beállítása után megtekintheti a végpontokat és az üzenetútvonalakat a portálon.

Tárfiók létrehozása

Hozzon létre egy Azure Storage-fiókot és egy tárolót azon a fiókon belül, amely a hozzá irányított eszközüzeneteket fogja tárolni.

  1. Az Azure Portalon keressen tárfiókokat.

  2. Válassza a Létrehozás lehetőséget.

  3. Adja meg a következő értékeket a tárfiókhoz:

    Paraméter Érték
    Előfizetés Válassza ki ugyanazt az előfizetést, amely az IoT Hubot tartalmazza.
    Erőforráscsoport Válassza ki ugyanazt az erőforráscsoportot, amely az IoT Hubot tartalmazza.
    Tárfiók neve Adjon meg egy globálisan egyedi nevet a tárfióknak.
    Teljesítmény Fogadja el az alapértelmezett Standard értéket.

    Screenshot that shows creating a storage account.

  4. Az összes többi alapértelmezett értéket a Véleményezés + létrehozás gombra kattintva fogadhatja el.

  5. Az ellenőrzés befejezése után válassza a Létrehozás lehetőséget.

  6. Ha az üzembe helyezés befejeződött, válassza az Erőforráshoz megnyitása lehetőséget.

  7. A Tárfiók menüben válassza a Tárolók lehetőséget az Adattárolás szakaszban.

  8. Új tároló létrehozásához válassza a + Tároló lehetőséget.

    Screenshot that shows creating a storage container

  9. Adjon nevet a tárolónak, és válassza a Létrehozás lehetőséget.

Átirányítás tárfiókhoz

Most beállíthatja az útválasztást a tárfiókhoz. Ebben a szakaszban egy új végpontot határoz meg, amely a létrehozott tárfiókra mutat. Ezután hozzon létre egy útvonalat, amely szűri azokat az üzeneteket, amelyekben a szinttulajdonság tárolóra van állítva, és azokat a tárolási végpontra irányítja.

Feljegyzés

Az adatok Apache Avro formátumban vagy JSON formátumban írhatók blobtárolóba.

A kódolási formátum csak a Blob Storage-végpont konfigurálásakor állítható be. A formátum nem módosítható olyan végpont esetében, amely már be van állítva. JSON-kódolás használatakor a contentType értékét JSON-ra, a contentEncoding értékét pedig UTF-8 értékre kell állítania az üzenetrendszer tulajdonságai között.

A Blob Storage-végpontok használatával kapcsolatos további információkért tekintse meg a tárterületre való útválasztással kapcsolatos útmutatást.

  1. Az Azure Portalon nyissa meg az IoT Hubot.

  2. Az Erőforrás menü Központi beállítások területén válassza az Üzenet útválasztása, majd a Hozzáadás lehetőséget.

    Screenshot that shows location of the Add button, to add a new route in your IoT hub.

  3. A Végpont lapon hozzon létre egy Storage-végpontot a következő információk megadásával:

    Paraméter Érték
    Végpont típusa Válassza a Storage lehetőséget.
    Végpont neve Adjon meg egy egyedi nevet ennek a végpontnak.
    Azure Storage-tároló Válassza a Tároló kiválasztása lehetőséget. Az utasításokat követve válassza ki az előző szakaszban létrehozott tárfiókot és tárolót.
    Kódolás Válassza a JSON lehetőséget. Ha ez a mező szürkítve jelenik meg, akkor a tárfiók régiója nem támogatja a JSON-t. Ebben az esetben folytassa az alapértelmezett AVRO-val.

    Screenshot that shows the Add a storage endpoint pane with the correct options selected.

  4. Fogadja el a többi paraméter alapértelmezett értékeit, és válassza a Létrehozás + tovább lehetőséget.

  5. Az Útvonal lapon adja meg a következő információkat egy olyan útvonal létrehozásához, amely a létrehozott Storage-végpontra mutat:

    Paraméter Érték
    Név Hozzon létre egy nevet az útvonalnak.
    Adatforrás Ellenőrizze, hogy az eszköz telemetriai üzenetei ki van-e választva a legördülő listából.
    Útvonal engedélyezése Ellenőrizze, hogy ez a mező be van-e jelölve.
    Útválasztási lekérdezés Adja meg level="storage" a lekérdezési sztringet.

    Screenshot that shows adding a route with a routing query.

  6. Válassza a Létrehozás + kihagyás elemet.

Irányított üzenetek megtekintése

Miután az útvonal létrejött az IoT Hubon, és engedélyezve van, azonnal elindítja a lekérdezési feltételnek megfelelő útválasztási üzeneteket a tárvégpontra.

A beépített végpont figyelése az IoT Explorerrel

Térjen vissza az IoT Explorer-munkamenethez a fejlesztői gépen. Ne feledje, hogy az IoT Explorer monitorozza az IoT Hub beépített végpontját. Ez azt jelenti, hogy most csak azokat az üzeneteket kell látnia, amelyeket nem a létrehozott egyéni útvonal irányít.

Indítsa újra a mintát a kód futtatásával. Figyelje meg a bejövő üzeneteket néhány pillanatig, és csak azokat az üzeneteket kell látnia, ahol level be van állítva normal vagy critical.

Üzenetek megtekintése a tárolóban

Ellenőrizze, hogy az üzenetek a tárolóba érkeznek-e.

  1. Az Azure Portalon lépjen a tárfiókra.

  2. A menü Adattároló szakaszában válassza a Tárolóklehetőséget.

  3. Válassza ki az oktatóanyaghoz létrehozott tárolót.

  4. Az IoT Hub nevével kell rendelkeznie egy mappának. Fúrjon végig a fájlszerkezeten, amíg el nem jut egy .json fájlhoz.

    Screenshot that shows finding routed messages in storage.

  5. Válassza ki a JSON-fájlt, majd a Letöltés gombra kattintva töltse le a JSON-fájlt. Győződjön meg arról, hogy a fájl olyan üzeneteket tartalmaz az eszközről, amelyeknek a level tulajdonsága be van állítva storage.

  6. Állítsa le a minta futtatását.

Az erőforrások eltávolítása

Ha el szeretné távolítani az oktatóanyaghoz használt összes Azure-erőforrást, törölje az erőforráscsoportot. Ez a művelet törli a csoportban lévő összes erőforrást. Ha nem szeretné törölni a teljes erőforráscsoportot, az Azure Portalon keresse meg és törölje az egyes erőforrásokat.

Ha folytatni szeretné a következő oktatóanyagot, tartsa meg az itt létrehozott erőforrásokat.

  1. Az Azure Portalon keresse meg azt az erőforráscsoportot, amely az oktatóanyaghoz tartozó IoT Hub- és tárfiókot tartalmazza.
  2. Tekintse át az erőforráscsoportban található összes erőforrást, és állapítsa meg, hogy mely erőforrásokat szeretné törölni.
    • Ha az összes erőforrást törölni szeretné, válassza az Erőforráscsoport törlése lehetőséget.
    • Ha csak bizonyos erőforrásokat szeretne törölni, az egyes erőforrásnevek melletti jelölőnégyzetekkel jelölje ki a törölni kívánt erőforrásokat. Ezután válassza a Törlés elemet.

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan hozhat létre egyéni végpontot egy Azure-erőforráshoz, majd hogyan hozhat létre egy útvonalat, amellyel eszközüzeneteket küldhet az adott végpontnak. Folytassa a következő oktatóanyaggal, amelyből megtudhatja, hogyan bővítheti az üzeneteket az alsóbb rétegbeli feldolgozás egyszerűsítése érdekében használható további adatokkal