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- (ASA-) feladatot 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 bal oldali panel bővítményei között keressen streamelemzést, és válassza a Telepítés az Azure Stream Analytics Tools bővítményen lehetőséget.

    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, javasoljuk, hogy PIN-kód használata helyett használjon telefonos hitelesítést. Az Azure-fiók kijelentkezéséhez nyomja Ctrl + Shift + P le és írja be a kívánt értéket Azure: Sign Out.

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özre kapcsolati sztring.

  3. Válassza a Futtatás lehetőséget. A kimenetnek az IoT Hubra küldött érzékelőadatokat és üzeneteket kell megjelenítenie.

    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. Az Azure Portal bal felső sarkában válassza >> létrehozása lehetőséget.

    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 nyomja le a Ctrl+Shift+P billentyűkombinációt, és írja be az ASA: Új projekt létrehozása parancsot.

    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 rendszer 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 közvetlenül a lemezen adja hozzá vagy távolítja el a bemeneteket vagy kimeneteket, manuálisan kell hozzáadnia vagy eltávolítania őket a asaproj.json. Dönthet úgy, hogy a bemeneteket és kimeneteket egy helyre helyezi, majd különböző feladatokban hivatkozik rájuk 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 az ASA: Bemenet hozzáadása a helyi menüből 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 IoTHub1.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 az előfizetések közül a Kiválasztás hivatkozással.

  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 beállításnak a SharedAccessPolicyName következőre kell lennie iothubowner: . 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éri az IoT Hub mintáját, és megjelenik 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ésekbő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.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 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 kezelőablakban, mutasson az ASA: Szkript fordítása pontra, majd válassza az ASA: ARM-sablon V2 (ajánlott) lehetőséget.

    Képernyőkép a VS Code-ban a Stream Analytics explorer szkriptbeállításának fordításáról.

  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 létrehozott üzembehelyezési sablonokról a projektmappában.

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

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

  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 beállításokró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.

  3. Ha a feladat sikeresen elindul, a feladat állapota Futó állapotúra változik. Látható 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 megnyithatja a blobtárolót a Visual Studio Code bővítményben vagy az Azure Portalon.

    Képernyőkép a blobtároló 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 eltávolítása

Ha már nincs rá szükség, törölje az erőforráscsoportot, a Stream Analytics-feladatot és az összes kapcsolódó erőforrást. A feladat törlésével megakadályozhatja, hogy a feladat által felhasznált streamelési egységek kiszámlázásra kerüljenek. Ha a feladatot a jövőben is szeretné használni, leállíthatja, és később újraindíthatja amikor ismét szükség van rá. 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 a következő cikkekben olvashat bővebben: