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-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
- 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 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.
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, 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:
Jelentkezzen be a Azure portalra.
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.
Az IoT Hub oldalán kövesse az alábbi lépéseket:
- Előfizetés esetén válassza ki az Azure-előfizetését.
- Erőforráscsoport esetén válasszon ki egy meglévő erőforráscsoportot, vagy hozzon létre egy új erőforráscsoportot.
- Adjon meg egy nevet az IoT Hub számára.
- Régió esetén válassza ki az Önhöz legközelebb eső régiót.
- 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.
- Napi üzenetkorlát esetén tartsa meg az alapértelmezett értéket.
- Válassza a Tovább: Hálózat gombot a lap alján.
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.
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.
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.
Adjon meg egy eszközazonosítót, és válassza a Mentés lehetőséget.
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.
Válassza ki az eszközt a listából.
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.
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özkapcsolati karakterláncra.
Válassza a Futtatás lehetőséget. A kimenet az IoT Hubra küldött érzékelőadatokat és üzeneteket jeleníti meg.
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
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.
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 válassza aParancskatalógus> lehetőséget, majd írja be az ASA: Create New Project (Ú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 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.
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
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 ki a helyi menüben az ASA: Input hozzáadása 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 Input.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
SharedAccessPolicyNameértékénekiothubownerkell 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.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ér egy mintát az IoT Hub-ból, és megjeleníti 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ések közü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.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.
- 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 felfedező ablakban, mutasson az ASA: Szkript fordítása elemre, 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 elkezdődik, a feladat állapota Futóra változik. Megjelenik egy logikai diagram, amely bemutatja, hogyan fut az ASA-feladat.
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.
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:
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 az alábbi cikkekben olvashat bővebben: