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
- Egy Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
- Visual Studio Code.
Az Azure Stream Analytics Tools bővítmény telepítése
Nyissa meg a Visual Studio Code-ot (VS Code).
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.
A telepítés után válassza az Azure ikont a tevékenységsávon, és jelentkezzen be az Azure-ba.
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:
Jelentkezzen be az Azure Portal.
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.
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.
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.
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.
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. '
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.
Adjon meg egy eszközazonosítót , és válassza a Mentés lehetőséget.
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.
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.
Az IoT-szimulátor futtatása
Nyissa meg a Raspberry Pi Azure IoT Online-szimulátort egy új böngészőlapon.
Cserélje le a helyőrzőt a 15. sorban a korábban mentett IoT Hub-eszköz kapcsolati sztring.
Válassza a Futtatás lehetőséget. A kimenetnek az IoT Hubra küldött érzékelőadatokat és üzeneteket kell megjelenítenie.
Blob Storage létrehozása
AAzure Portal bal felső sarkában válassza az Erőforrás>>storage-fiók létrehozása lehetőséget.
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.
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.
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.
Stream Analytics-projekt létrehozása
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.
Adja meg a projekt nevét (például myASAproj), és válasszon ki egy mappát a projekthez.
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.
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
Nyissa meg a myASAproj.asaql fájlt, és adja hozzá a következő lekérdezést:
SELECT * INTO Output FROM Input WHERE Temperature > 27
Feladatbemenet konfigurálása
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.
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.
A bemeneti típushoz válassza a IoT Hub lehetőséget.
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.
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 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.
Feladatkimenet konfigurálása
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.
A fogadó típusához válassza a Data Lake Storage Gen2/Blob Storage lehetőséget.
Válassza ki a lekérdezési szkriptet ezzel a kimenettel.
Adja meg a BlobStorage1 nevet kimeneti fájlnévként.
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.
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.
Kattintson a jobb gombbal a szkriptre, és válassza az ASA: Szkript fordítása lehetőséget.
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.
A lekérdezésszerkesztőben válassza a Küldés az Azure-ba lehetőséget.
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.
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ó.
A Stream Analytics-feladat indítása és a kimenet ellenőrzése
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.
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.
A kimeneti eredmények megtekintéséhez megnyithatja a blobtárolót a Visual Studio Code bővítményben vagy a Azure Portal.
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:
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.
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: