Share via


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

Ez a rövid útmutató bemutatja, hogyan hozhat létre, futtathat és küldhet be Azure Stream Analytics- (ASA-) feladatokat 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 IoT Hub é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 lesznek elküldve. Az ebben a rövid útmutatóban használt bemeneti adatokat egy Raspberry Pi online szimulátor hozza létre.

Megjegyzés

A Visual Studio Code-eszközök nem támogatják a kelet-kínai, észak-kínai, németországi középső és németországi északkeleti régiókban 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ények elemében keresse meg a streamelemzést , és válassza a Telepítés az Azure Stream Analytics Tools bővítményre 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 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.

Megjegyzés

Az ASA Tools bővítmény minden alkalommal automatikusan bejelentkezik, amikor megnyitja a VS Code-ot. Ha a fiókja kétfaktoros hitelesítéssel rendelkezik, javasoljuk, hogy PIN-kód használata helyett telefonhitelesítést használjon. Az Azure-fiók kijelentkezéséhez nyomja Ctrl + Shift + P le és írja be a parancsot Azure: Sign Out.

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

A Stream Analytics-feladat definiálása előtt elő kell készítenie a bemeneti adatokat. A valós idejű érzékelő adatai a IoT Hub lesznek betöltve, amelyek később feladatbemenetként lesznek konfigurálva. A feladathoz szükséges bemeneti adatok előkészítéséhez kövesse az alábbi lépéseket:

  1. Jelentkezzen be az Azure Portal.

  2. Válassza a Create a resource Internet of Things IoT Hub (Erőforrás > létrehozása az eszközök > internetes hálózatának létrehozása IoT Hub) lehetőséget.

    Képernyőkép az Erőforrás létrehozása az Iot Hubhoz lapról.

  3. A IoT Hub lapon adja meg a következő adatokat:

    • Előfizetés, válassza ki az Azure-előfizetését.
    • Erőforráscsoport, válasszon ki egy meglévő erőforráscsoportot, vagy hozzon létre egy új erőforráscsoportot.
    • IoT Hub neve, adja meg az IoT Hub nevét.
    • Régió, válassza ki az Önhöz legközelebb eső régiót.

    Képernyőkép a létrehozás IoT Hub oldalról.

  4. Nyissa meg a Kezelés lapot, és válassza az F1: Ingyenes szint lehetőséget, ha az továbbra is elérhető az előfizetésében. További információ: Azure IoT Hub díjszabás.

    Képernyőkép a IoT Hub felügyeleti oldalról.

  5. 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. Ez a folyamat eltarthat néhány percig az IoT Hub üzembe helyezéséhez.

  6. Az IoT Hub létrehozása után válassza az Erőforrás megnyitása lehetőséget a IoT Hub lapra való navigáláshoz. '

  7. A 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ök lapon található Eszköz hozzáadása gombról.

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

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

  9. Az eszköz létrehozása után látnia kell az eszközt az IoT-eszközök listájából. Ha nem látja, válassza a Frissítés gombot a lapon.

    Képernyőkép az eszköz kiválasztásáról az Eszközök lapon.

  10. Válassza ki az eszközt a listából. Másolja az elsődleges kapcsolati sztringet , és mentse egy jegyzettömbbe, hogy később használhassa.

    Képernyőkép a létrehozott eszköz elsődleges kapcsolati sztring.

Az IoT-szimulátor futtatása

  1. Nyissa meg a Raspberry Pi Azure IoT Online-szimulátort egy új böngészőlapon.

  2. Cserélje le a helyőrzőt a 15. sorban a korábban mentett IoT Hub-eszköz 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átorról kimenettel.

Blob Storage létrehozása

  1. AAzure Portal bal felső sarkában válassza az Erőforrás>>storage-fiók 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 Hubot. Ezután válassza a Felülvizsgálat é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.

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

    Képernyőkép egy ASA-projekt nevének megadásáról.

  3. A rendszer hozzáad egy ASA-projektet a munkaterülethez. Három mappából áll: Bemenetek, Kimenetek és Függvények. 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.

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

    Megjegyzés

    Amikor bemeneteket és kimeneteket ad hozzá a parancskatalógusból, a rendszer automatikusan hozzáadja a megfelelő elérési utakat az asaproj.json fájlhoz. 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 az asaproj.json fájlból. 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ára. Ezután válassza az ASA: Bemenet hozzáadása lehetőséget a helyi menüből.

    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, majd írja be az ASA: Bemenet hozzáadása parancsot.

  2. A bemeneti típushoz válassza a IoT Hub lehetőséget.

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

  3. Válasszon ki egy *.asaql - és Azure-előfizetéses ASA-szkriptet a legördülő menüből, majd nyomja le az ENTER billentyűt.

  4. A Bemenetek mappában egy IoTHub1.json-fájl jön létre. Cserélje le a beállításokat a következő javasolt értékekre, és tartsa meg az itt nem említett mezők alapértelmezett értékeit.

    Beállítás Ajánlott érték Leírás
    Név Bevitel Ez a bemeneti név a lekérdezés FROM utasításához használatos.
    IotHubNamespace spiothub Az IoT Hub neve. A rendszer automatikusan észleli az IoT Hub-neveket, ha kiválasztja az előfizetését.
    SharedAccessPolicyName iothubowner

    Képernyőkép a VS Code IoT Hub konfigurációjáról.

  5. Válassza az Adatok előnézete lehetőséget annak megtekintéséhez, hogy a bemeneti adatok sikeresen konfigurálva van-e a feladathoz. Beolvassa a IoT Hub egy 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. Nyomja le a Ctrl+Shift+P billentyűkombinációt a parancskatalógus megnyitásához, majd írja be az ASA: Kimenet hozzáadása parancsot.

  2. A fogadó típusához válassza a Data Lake Storage Gen2/Blob Storage lehetőséget.

  3. Válassza ki a lekérdezési szkriptet ezzel a kimenettel.

  4. Adja meg a BlobStorage1 nevet kimeneti fájlnévként.

  5. Szerkessze a beállításokat az alábbi értékekkel. Tartsa meg az itt nem említett mezők alapértelmezett értékeit.

    Beállítás Ajánlott érték Leírás
    Név Kimenet Ez a kimeneti név az INTO utasításhoz használatos a lekérdezésben.
    Tárfiók spstorageaccount0901 Válassza ki vagy adja meg a tárfiók nevét. A tárfiókok neve automatikusan észlelhető, ha ugyanabban az előfizetésben lettek létrehozva.
    Tároló spcontainer Válassza ki a tárfiókjában létrehozott meglévő tá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 szkriptfordítás ellenőrzi a szintaxist, és létrehozza az Azure Resource Manager-sablonokat az automatikus üzembe helyezéshez.

  1. Kattintson a jobb gombbal a szkriptre, és válassza az ASA: Szkript fordítása lehetőséget.

    Képernyőkép a PARANCSFÁJL-beá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és mappa a projekt alatt két Azure Resource Manager-sablonnal. A rendszer ezt a két fájlt használja az automatikus üzembe helyezéshez.

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

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

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

    Ezután kövesse az utasításokat a folyamat befejezéséhez: Válassza ki az előfizetést > Válasszon egy feladatot Új feladat >> létrehozása Adja meg a feladat nevét > Válassza ki az erőforráscsoportot és a régiót.

  4. 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 ( Felhőfeladat nézet ), amelyen a feladat állapota látható.

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

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

  1. A Cloud Job View (Felhőfeladat nézete ) lapon válassza a Start lehetőséget a feladat felhőben való futtatásához. Ez a folyamat eltarthat néhány percig.

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

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

  3. A kimeneti eredmények megtekintéséhez megnyithatja a blobtárolót a Visual Studio Code bővítményben vagy a Azure Portal.

    A blobtároló kimeneti fájljának képernyőképe.

    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 fogja továbbra is használni ezt a feladatot, törölje az ebben a rövid útmutatóban létrehozott összes erőforrást az alábbi lépésekkel:

  1. A 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: