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


Rövid útmutató: Stream Analytics-feladat létrehozása a Visual Studio Code használatával

Ebben a rövid útmutatóban létrehozhat, futtathat és elküldhet egy Azure Stream Analytics-feladatot (ASA) a Visual Studio Code ASA Tools bővítményével a helyi gépen. Megtanulhat olyan ASA-feladatot létrehozni, amely valós idejű streamelési adatokat olvas be az IoT Hubról, és szűri a 27°-nál magasabb hőmérsékletű eseményeket. A kimeneti eredmények egy blobtárolóban lévő fájlba kerülnek. Az ebben a rövid útmutatóban használt bemeneti adatokat egy Raspberry Pi online szimulátor hozza létre.

Feljegyzés

A Visual Studio Code-eszközök nem támogatják a kelet-kínai, az észak-kínai, a középső és a németországi északkeleti régióban lévő feladatokat.

Előfeltételek

Az Azure Stream Analytics Tools bővítmény telepítése

  1. Nyissa meg a Visual Studio Code-ot (VS Code).

  2. A Bővítmények között a bal oldali panelen keressen a streamelemzés kifejezésre, és válassza az Telepítés lehetőséget az Azure Stream Analytics Tools bővítménynél.

    Képernyőkép a Visual Studio Code Bővítmények oldaláról a Stream Analytics-bővítmény telepítésének lehetőségével.

  3. A telepítés után válassza ki az Azure ikont a tevékenységsávon, és jelentkezzen be az Azure-ba.

    Képernyőkép az Azure-ba való bejelentkezésről.

  4. Miután bejelentkezett, láthatja az előfizetéseket az Azure-fiókjában.

Feljegyzés

Az ASA Tools bővítmény automatikusan bejelentkezik a VS Code minden megnyitásakor. Ha a fiókja kéttényezős hitelesítéssel rendelkezik, pin-kód használata helyett használjon telefonos hitelesítést. Az Azure-fiók kijelentkezéséhez nyomja meg a Ctrl + Shift + P gombot és írja be a Azure: Sign Out parancsot.

A bemeneti adatok előkészítése

A Stream Analytics-feladat definiálása előtt készítse elő a bemeneti adatokat. A megoldás betölti a valós idejű érzékelőadatokat az IoT Hubba, amelyet később feladatbemenetként konfigurál. A feladathoz szükséges bemeneti adatok előkészítéséhez hajtsa végre a következő lépéseket:

  1. Jelentkezzen be a Azure portalra.

  2. Válassza az Erőforrás létrehozása lehetőséget. Az Erőforrás létrehozása oldalon válassza a Dolgok Internete>IoT Hub lehetőséget.

    Képernyőkép az Erőforrás létrehozása lap IoT Hub menüjéről.

  3. Az IoT Hub oldalán kövesse az alábbi lépéseket:

    1. Előfizetés esetén válassza ki az Azure-előfizetését.
    2. Erőforráscsoport esetén válasszon ki egy meglévő erőforráscsoportot, vagy hozzon létre egy új erőforráscsoportot.
    3. Adjon meg egy nevet az IoT Hub számára.
    4. Régió esetén válassza ki az Önhöz legközelebb eső régiót.
    5. Tier esetén válassza ki az Ingyenes lehetőséget, amennyiben az továbbra is elérhető az előfizetésében. További információkért lásd az IoT Hub díjszabását.
    6. Napi üzenetkorlát esetén tartsa meg az alapértelmezett értéket.
    7. Válassza a Tovább: Hálózat gombot a lap alján.

    Képernyőkép a létrehozáshoz szükséges IoT Hub-oldalról.

  4. Válassza az Áttekintés + létrehozás lehetőséget. Tekintse át az IoT Hub adatait, és válassza a Létrehozás lehetőséget. Az IoT Hub létrehozása eltarthat néhány percig. A folyamat haladását az Értesítések panelen követheti nyomon.

  5. Az erőforrás (IoT Hub) létrehozása után válassza az Ugrás az erőforrásra lehetőséget az IoT Hub lapra való ugráshoz.

  6. Az IoT Hub lapon válassza az Eszközök lehetőséget a bal oldali menüben, majd válassza az + Eszköz hozzáadása lehetőséget.

    Képernyőkép az Eszköz hozzáadása gombról az Eszközök lapon.

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

    Képernyőkép az Eszköz létrehozása lapról.

  8. Az eszköz létrehozása után megjelenik az eszköz az IoT-eszközök listájában. Ha nem látja, válassza a Frissítés gombot a lapon.

    Képernyőkép az eszközök listájáról.

  9. Válassza ki az eszközt a listából.

  10. Az eszközoldalon válassza az Elsődleges kapcsolati sztring melletti másolás gombot, és mentse azt egy jegyzettömbbe, amelyet később használhat.

    Képernyőkép az eszköz kapcsolati sztring melletti másolás gombról.

Az IoT-szimulátor futtatása

  1. Nyissa meg a Raspberry Pi Azure IoT Online szimulátort.

  2. Cserélje le a helyőrzőt a 15. sorban az előző szakaszban mentett Azure IoT Hub eszközkapcsolati karakterláncra.

  3. Válassza a Futtatás lehetőséget. A kimenet az IoT Hubra küldött érzékelőadatokat és üzeneteket jeleníti meg.

    Képernyőkép a **Raspberry Pi Azure IoT Online Szimulátor** oldalról a minta lekérdezéssel.

    Fontos

    A kapcsolati sztring alaphelyzetbe állításához néhány perc elteltével válassza az Alaphelyzetbe állítás lehetőséget.

Blob storage létrehozása

  1. A bal felső sarokban az Azure Portalon válassza a Erőforrás létrehozása>, Tárhely> és Tárhelyfiók lehetőségeket.

    Képernyőkép a Tárfiók létrehozása menüről.

  2. A Tárfiók létrehozása panelen adja meg a tárfiók nevét, helyét és erőforráscsoportját. Válassza ki ugyanazt a helyet és erőforráscsoportot, mint a létrehozott IoT Hub. Ezután válassza a Véleményezés és létrehozás lehetőséget a tárfiók létrehozásához.

    Képernyőkép a Tárfiók létrehozása lapról.

  3. A Tárfiók lapon válassza a Tárolók lehetőséget a bal oldali menüben, majd válassza a + Tároló lehetőséget a parancssávon.

    Képernyőkép a Tárolók oldalról.

  4. Az Új tároló lapon adja meg a tároló nevét, hagyja magánjellegűként a nyilvános hozzáférési szintet (névtelen hozzáférés nélkül), és válassza az OK gombot.

    Egy blobtároló oldal létrehozását bemutató képernyőkép.

Stream Analytics-projekt létrehozása

  1. A Visual Studio Code-ban válassza aParancskatalógus> lehetőséget, majd írja be az ASA: Create New Project (Új projekt létrehozása) kifejezést.

    Képernyőkép az ASA kiválasztásáról: Új projekt létrehozása a parancskatalógusban.

  2. Adja meg a projekt nevét (például myASAproj), és válasszon ki egy mappát a projekthez.

    Az ASA-projekt nevének megadását ábrázoló képernyőkép.

  3. A Visual Studio Code hozzáad egy ASA-projektet a munkaterülethez. Három mappából áll: bemenetekből, kimenetekből és függvényekből. Emellett rendelkezik a lekérdezési szkripttel (*.asaql), egy JobConfig.json fájllal és egy asaproj.json konfigurációs fájllal is.

    Képernyőkép a Stream Analytics-projektfájlokról a Visual Studio Code-ban.

    A asaproj.json fájl tartalmazza a Stream Analytics-feladat Azure-ba való beküldéséhez szükséges bemeneteket, kimeneteket és feladatkonfigurációs beállításokat.

    Feljegyzés

    Amikor bemeneteket és kimeneteket ad hozzá a parancskatalógusból, a rendszer automatikusan hozzáadja a megfelelő elérési utakat asaproj.json . Ha a lemezen közvetlenül ad hozzá vagy távolít el bemeneteket vagy kimeneteket, manuálisan kell hozzáadnia vagy eltávolítania őket az asaproj.json fájlból. A bemeneteket és kimeneteket egy helyre helyezheti, majd hivatkozhat rájuk különböző feladatokban az egyes asaproj.json fájlok elérési útjainak megadásával.

A transzformációs lekérdezés definiálása

  1. Nyissa meg a myASAproj.asaql fájlt, és adja hozzá a következő lekérdezést:

    SELECT *
    INTO Output
    FROM Input
    WHERE Temperature > 27
    

    Képernyőkép az átalakítási lekérdezésről.

Feladatbemenet konfigurálása

  1. Kattintson a jobb gombbal a Stream Analytics-projekt Bemenetek mappájába. Ezután válassza ki a helyi menüben az ASA: Input hozzáadása lehetőséget.

    Képernyőkép az ASA: Bevitel hozzáadása menüről a Visual Studio Code-ban.

    Vagy nyomja le a Ctrl+Shift+P billentyűkombinációt a parancskatalógus megnyitásához, és írja be az ASA: Bemenet hozzáadása parancsot.

  2. Válassza az IoT Hubot a bemeneti típushoz.

    Képernyőkép az IoT Hub kiválasztásáról a VS Code parancskatalógusában.

  3. A legördülő menüben válassza a Kiválasztás az Azure-előfizetések közül lehetőséget, majd nyomja le az ENTER billentyűt.

  4. Írja be a név bemenetét , majd nyomja le az ENTER billentyűt.

  5. A Bemenetek mappában megjelenik egy Input.json fájl létrehozása.

  6. A JSON-fájlban győződjön meg arról, hogy a bemenet neve van megadva.

  7. A Input.json JSON-szerkesztőjében válassza a Kiválasztás lehetőséget az előfizetései közül, majd válassza ki az IoT Hubot tartalmazó Azure-előfizetést.

    Képernyőkép a JSON-szerkesztőről, amely tartalmazza a „Választás az előfizetéseid közül” hivatkozást.

  8. A JSON-szerkesztőben válassza az IoT Hub kiválasztása lehetőséget, majd válassza ki a létrehozott IoT Hubot.

    Képernyőkép a JSON-szerkesztőről az IoT Hub kiválasztása hivatkozással.

  9. Alapértelmezés szerint a SharedAccessPolicyName értékének iothubowner kell lennie. Ha nem, válassza a Közös hozzáférésű hozzáférési házirend neve hivatkozás kiválasztása lehetőséget, majd válassza az iothubowner lehetőséget a legördülő listából.

  10. Az SharedAccessPolicyKey értéket automatikusan be kell állítani.

  11. Válassza az Előnézeti adatok lehetőséget, és ellenőrizze, hogy a bemeneti adatok sikeresen konfigurálva van-e a feladathoz. Lekér egy mintát az IoT Hub-ból, és megjeleníti az előnézeti ablakban.

    Képernyőkép az IoT Hub bemeneti adatainak előnézetéről.

Feladatkimenet konfigurálása

  1. Kattintson a jobb gombbal a Kimenetek elemre az Explorerben, és válassza az ASA: Kimenet hozzáadása lehetőséget.
  2. Válassza a Data Lake Storage Gen2/Blob Storage lehetőséget a fogadó típusához a legördülő listában.
  3. Válassza a Kiválasztás lehetőséget az Azure-előfizetések közül.
  4. Adja meg az alias nevének kimenetét , és nyomja le az ENTER billentyűt. Ez a kimeneti név az INTO utasításhoz használatos a lekérdezésben.
  5. A Output.jsonJSON-szerkesztőjében válassza a Kiválasztás lehetőséget az előfizetései közül, majd válassza ki az Azure Storage-fiókkal rendelkező Azure-előfizetést.
  6. Ha módosítania kell az automatikusan kitöltött tárfiókot, válassza a Tárfiók kiválasztása lehetőséget, majd válassza ki az Azure Storage-fiókját. A tárfiókok neve automatikusan észlelhető, ha ugyanabban az előfizetésben lettek létrehozva.
  7. Ha módosítania kell a tároló nevét, válassza a Tároló kiválasztása lehetőséget, és válassza ki a létrehozott blobtárolót.

Képernyőkép a Stream Analytics-feladat kimenetének konfigurációjáról.

A szkript fordítása és elküldése az Azure-ba

A szkriptek fordítása ellenőrzi a szintaxist, és létrehozza az Azure Resource Manager-sablonokat az automatikus üzembe helyezéshez.

  1. Kattintson a jobb gombbal a szkriptfájlra a felfedező ablakban, mutasson az ASA: Szkript fordítása elemre, majd válassza az ASA: ARM sablon V2 (ajánlott) lehetőséget.

    Képernyőkép a szkriptbeállítás fordításáról a VS Code Stream Analytics-kezelőjében.

  2. A fordítás után megjelenik egy üzembe helyezési mappa a projekt alatt két Azure Resource Manager-sablonnal. Ez a két fájl az automatikus üzembe helyezéshez használatos.

    Képernyőkép a projektmappában létrehozott üzembehelyezési sablonokról.

  3. Válassza a Küldés az Azure-ba lehetőséget a lekérdezésszerkesztőben.

    Képernyőkép a Feladat elküldése gombról a Stream Analytics-feladat Azure-ba való elküldéséhez.

  4. A Küldés ablakban kövesse az alábbi lépéseket:

    1. Válassza ki az Azure-előfizetését.

    2. Válasszon ki egy Azure-erőforráscsoportot.

    3. Válassza ki azt a régiót, ahol létre szeretné hozni a Stream Analytics-feladatot.

    4. Ezután válassza a Küldés lehetőséget.

      Képernyőkép a Küldési lehetőségekről.

  5. Válassza a Közzététel az Azure-ban lehetőséget, és fejezze be a elemet. Várja meg, amíg megnyílik egy új lap , a Cloud Job View, amely megjeleníti a feladat állapotát.

    Képernyőkép az Azure-ban való közzétételről a VS Code-ban.

A Stream Analytics-feladat indítása és a kimenet ellenőrzése

  1. A Cloud Job View lapon válassza a Start elemet a feladat felhőben való futtatásához.

    Képernyőkép a Feladat indítása gombról a Felhőnézet lapon.

  2. A Streamelési feladat indítása ablakban válassza az OK gombot. A folyamat eltarthat pár percig.

    Képernyőkép a Streamelési feladat indítása ablakról.

  3. Ha a feladat sikeresen elkezdődik, a feladat állapota Futóra változik. Megjelenik egy logikai diagram, amely bemutatja, hogyan fut az ASA-feladat.

    Képernyőkép a VS Code-ban futó feladat állapotáról.

  4. A kimeneti eredmények megtekintéséhez nyissa meg a blobtárolót a Visual Studio Code bővítményben vagy az Azure Portalon.

    Képernyőkép a Blob-tárolóban lévő kimeneti fájlról.

    Töltse le és nyissa meg a fájlt a kimenet megtekintéséhez.

    {"messageId":11,"deviceId":"Raspberry Pi Web Client","temperature":28.165519323167562,"humidity":76.875393581654379,"EventProcessedUtcTime":"2022-09-01T22:53:58.1015921Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:52:57.6250000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:52:57.6290000Z"}}
    {"messageId":14,"deviceId":"Raspberry Pi Web Client","temperature":29.014941877871451,"humidity":64.93477299527828,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:03.6100000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:03.6140000Z"}}
    {"messageId":17,"deviceId":"Raspberry Pi Web Client","temperature":28.032846241745975,"humidity":66.146114343897338,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:19.5960000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:19.5830000Z"}}
    {"messageId":18,"deviceId":"Raspberry Pi Web Client","temperature":30.176185593576143,"humidity":72.697359909427419,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:21.6120000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:21.6140000Z"}}
    {"messageId":20,"deviceId":"Raspberry Pi Web Client","temperature":27.851894248213021,"humidity":71.610229530268214,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:25.6270000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:25.6140000Z"}}
    {"messageId":21,"deviceId":"Raspberry Pi Web Client","temperature":27.718624694772238,"humidity":66.540445035685153,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:48.0820000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:48.0830000Z"}}
    {"messageId":22,"deviceId":"Raspberry Pi Web Client","temperature":27.7849054424326,"humidity":74.300662748167085,"EventProcessedUtcTime":"2022-09-01T22:54:09.3393532Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:09.2390000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:09.2400000Z"}}
    {"messageId":28,"deviceId":"Raspberry Pi Web Client","temperature":30.839892925680324,"humidity":76.237611741451786,"EventProcessedUtcTime":"2022-09-01T22:54:47.8053253Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:47.6180000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:47.6150000Z"}}
    {"messageId":29,"deviceId":"Raspberry Pi Web Client","temperature":30.561040300759053,"humidity":78.3845172058103,"EventProcessedUtcTime":"2022-09-01T22:54:49.8070489Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:49.6030000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:49.5990000Z"}}
    {"messageId":31,"deviceId":"Raspberry Pi Web Client","temperature":28.163585438418679,"humidity":60.0511571297096,"EventProcessedUtcTime":"2022-09-01T22:55:25.1528729Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:24.9050000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:24.9120000Z"}}
    {"messageId":32,"deviceId":"Raspberry Pi Web Client","temperature":31.00503387156985,"humidity":78.68821066044552,"EventProcessedUtcTime":"2022-09-01T22:55:43.2652127Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:43.0480000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:43.0520000Z"}}
    

Az erőforrások tisztítása

Ha már nincs szüksége az erőforrásokra, törölje az erőforráscsoportot, a Stream Analytics-feladatot és az összes kapcsolódó erőforrást. A feladat törlése leállítja a feladat által felhasznált streamelési egységek számlázását. Ha a jövőben szeretné használni a feladatot, akkor szükség esetén leállíthatja, majd később újraindíthatja. Ha nem folytatja a feladat használatát, törölje a rövid útmutatóban létrehozott összes erőforrást az alábbi lépések végrehajtásával:

  1. Az Azure Portal bal oldali menüjében válassza az Erőforráscsoportok lehetőséget, majd válassza ki a létrehozott erőforrás nevét.

  2. Az erőforráscsoport oldalán kattintson a Törlés parancsra. Írja be a törölni kívánt erőforrás nevét a szövegmezőbe, majd válassza a Törlés lehetőséget.

Következő lépések

A Visual Studio Code-hoz készült ASA Tools bővítményről az alábbi cikkekben olvashat bővebben: