Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
- 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é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.
A telepítés után válassza ki 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.
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
Nyissa meg a Raspberry Pi Azure IoT Online szimulátort.
Cserélje le a helyőrzőt a 15. sorban az Előző szakaszban mentett Azure IoT Hub-eszközre 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.
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
Az Azure Portal bal felső sarkában válassza >> 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 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.
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 parancsot.
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: 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.
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
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ába. Ezután válassza az ASA: Bemenet hozzáadása a helyi menüből lehetőséget.
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.
Válassza az IoT Hubot a bemeneti típushoz.
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.
Írja be a név bemenetét , majd nyomja le az ENTER billentyűt.
A Bemenetek mappában megjelenik egy IoTHub1.json fájl létrehozása.
A JSON-fájlban győződjön meg arról, hogy a bemenet neve van megadva.
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.
A JSON-szerkesztőben válassza az IoT Hub kiválasztása lehetőséget, majd válassza ki a létrehozott IoT Hubot.
Alapértelmezés szerint a beállításnak a
SharedAccessPolicyNamekövetkezőre kell lennieiothubowner: . 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.Az
SharedAccessPolicyKeyértéket automatikusan be kell állítani.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.
Feladatkimenet konfigurálása
- Kattintson a jobb gombbal a Kimenetek elemre az Explorerben, és válassza az ASA: Kimenet hozzáadása lehetőséget.
- Válassza a Data Lake Storage Gen2/Blob Storage lehetőséget a fogadó típusához a legördülő listában.
- Válassza a Kiválasztás lehetőséget az Azure-előfizetésekből
- 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.
- 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
- 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.
- 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.
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.
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.
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.
Válassza a Küldés az Azure-ba lehetőséget a lekérdezésszerkesztőben.
A Küldés ablakban kövesse az alábbi lépéseket:
Válassza ki az Azure-előfizetését.
Válasszon ki egy Azure-erőforráscsoportot.
Válassza ki azt a régiót, ahol létre szeretné hozni a Stream Analytics-feladatot.
Ezután válassza a Küldés lehetőséget.
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.
A Stream Analytics-feladat indítása és a kimenet ellenőrzése
A Cloud Job View lapon válassza a Start elemet a feladat felhőben való futtatásához.
A Streamelési feladat indítása ablakban válassza az OK gombot. A folyamat eltarthat pár 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 az Azure Portalon.
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:
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.
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: