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.
Fontos
Az Azure Stream Analytics felhasználó által definiált .Net Standard-függvényei 2024. szeptember 30-án megszűnnek. Ezt követően a funkció nem használható. Váltsa át a JavaScript felhasználó által definiált függvényekre az Azure Stream Analyticshez.
A Visual Studióban létrehozott felhasználói C# függvényekkel (UDF-ekkel) kiterjesztheti az Azure Stream Analytics lekérdezéseinek nyelvét a saját függvényeire. A C#-pal meglévő kódokat használhat újra (így DLL-eket is), valamint matematikai vagy összetett logikát alkalmazhat. Az UDF-ek implementálásának három módja van:
- CodeBehind-fájlok Stream Analytics-projektben
- UDF-ek helyi C#-projektből
- Egy meglévő csomagból származó UDF-ek egy tárfiókból.
Ez az oktatóanyag a CodeBehind metódussal implementál egy alapszintű C# függvényt. A Stream Analytics-feladatok UDF-funkciója jelenleg előzetes verzióban érhető el, és nem használható éles számítási feladatokban.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Felhasználói C# függvény létrehozása CodeBehinddal.
- A Stream Analytics-feladat helyi tesztelése.
- Tegye közzé a feladatát az Azure-ban.
Előfeltételek
Mielőtt hozzálátna, győződjön meg róla, hogy megfelel az alábbi előfeltételeknek:
- Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
- Telepítse a Stream Analytics Tools for Visual Studiót és az Azure-fejlesztési vagy az Adattárolási és -feldolgozási számítási feladatokat.
- IoT Edge-feladat létrehozásakor tekintse meg a Stream Analytics Edge meglévő fejlesztési útmutatóját .
Tároló létrehozása az Azure Storage-fiókban
A létrehozott tároló a lefordított C# csomag tárolására szolgál. Edge-feladat létrehozásakor ez a tárfiók a csomag IoT Edge-eszközön való üzembe helyezéséhez is használható. A Stream Analytics-feladathoz dedikált tárolót használjon. Ha ugyanazt a tárolót több Stream Analytics Edge-feladathoz használja újra, az nem támogatott. Ha már van egy meglévő tárolókat tartalmazó tárfiókja, használhatja azokat. Ha nem, létre kell hoznia egy új tárolót.
Stream Analytics-projekt létrehozása a Visual Studióban
Indítsa el a Visual Studiót.
Válassza az Új > projekt fájlja > lehetőséget.
A bal oldali sablonok listájában válassza a Stream Analytics, majd az Azure Stream Analytics Edge-alkalmazás vagy az Azure Stream Analytics-alkalmazás lehetőséget.
Adja meg az alkalmazás nevét, helyét és a megoldás nevét, majd kattintson az OK gombra.
Szerelvénycsomag elérési útjának konfigurálása
Nyissa meg a Visual Studio Megoldáskezelőjét.
Kattintson duplán a feladat konfigurációs fájljára (
JobConfig.json
).Bontsa ki a Felhasználói kód konfigurációja szakaszt, és töltse ki a konfigurációt az alábbi javasolt értékekkel:
Beállítás Ajánlott érték Globális tárolási Gépház erőforrás Choose data source from current account (Adatforrás kiválasztása az aktuális fiókból) Globális tárolási Gépház-előfizetés < előfizetése > Globális tárfiók Gépház tárfiók < a tárfiók > Egyéni kódtár Gépház erőforrás Choose data source from current account (Adatforrás kiválasztása az aktuális fiókból) Egyéni kódtár Gépház tárfiók < a tárfiók > Egyéni kódtároló Gépház tároló < a tároló >
C# UDF írása a CodeBehind segítségével
A CodeBehind-fájlok egy egyetlen ASA-lekérdezési szkripthez társított C#-fájl. A Visual Studio-eszközök automatikusan tömörítik a CodeBehind-fájlt, és feltöltik az Azure Storage-fiókba a beküldéskor. Minden osztályt nyilvánosként, minden objektumot pedig statikus nyilvánosként kell definiálni.
A Megoldáskezelőben bontsa ki a Script.asql fájlt a Script.asaql.cs CodeBehind fájl megkereséséhez.
Cserélje le a kódot az alábbi mintára:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace ASAEdgeUDFDemo { public class Class1 { // Public static function public static Int64 SquareFunction(Int64 a) { return a * a; } } }
Az UDF implementálása
A Megoldáskezelőben nyissa meg a Script.asaql fájlt.
Cserélje le a meglévő lekérdezést a következő lekérdezésre:
SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint)) INTO Output FROM Input
Helyi tesztelés
Töltse le a hőmérsékletszimulátor mintaadatfájlt.
A Megoldáskezelőben bontsa ki a Bemenetek csomópontot, majd kattintson a jobb gombbal az Input.json fájlra, és válassza a Helyi bemenet hozzáadása lehetőséget.
Adja meg a helyi bemeneti fájl útvonalát a letöltött mintaadatokban, majd mentse a módosításokat.
A szkriptszerkesztőben kattintson a Helyi futtatás lehetőségre. Miután a helyi futtatás elmentette a kimeneti eredményeket, nyomjon le egy billentyűt az eredmények táblázatos megjelenítéséhez.
A nyersfájlokat JSON és CSV formátumban is megtekinthet az Eredmények mappa megnyitása lehetőséggel.
UDF hibakeresése
A C# UDF-en helyileg, a szabványos C#-kódokhoz hasonlóan végezhet hibakeresést.
Adjon töréspontokat a C# függvényhez.
Nyomja le az F5 billentyűt a hibakeresés megkezdéséhez. A program a várt módon leáll a töréspontoknál.
A feladat közzététele az Azure-ban
A lekérdezés helyi tesztelése után válassza a szkriptszerkesztő Küldés az Azure-ba lehetőségét a feladat az Azure-ban való közzétételéhez.
Üzembe helyezés IoT Edge-eszközökön
Ha a Stream Analytics Edge-feladat létrehozása mellett döntött, az mostantól IoT Edge-modulként is üzembe helyezhető. Az IoT Edge – gyors üzembe helyezés lépéseit követve létrehozhat egy IoT Hubot, regisztrálhat egy IoT Edge-eszközt, majd telepítheti és elindíthatja az IoT Edge-futtatókörnyezetet a eszközön. Ezután A feladat üzembe helyezése oktatóanyagot követve üzembe helyezheti a Stream Analytics-feladatot IoT Edge-modulként.
Következő lépések
Ebben az oktatóanyagban létrehozott egy egyszerű C# felhasználó által definiált függvényt a CodeBehind használatával, közzétette a feladatot az Azure-ban, és üzembe helyezte a feladatot az Azure-ban vagy az IoT Edge-eszközön.
A C# felhasználó által definiált függvények Stream Analytics-feladatokhoz való használatának különböző módjairól a következő cikkben olvashat bővebben: