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
2024. szeptember 30-án megszűnnek az Azure Stream Analytics .Net Standard által definiált felhasználói függvények. 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 C# felhasználó által definiált függvények (UDF-ek) lehetővé teszik az Azure Stream Analytics lekérdezési nyelvének kiterjesztését saját függvényeivel. Újra felhasználhatja a meglévő kódot (beleértve a DLL-eket), és matematikai vagy összetett logikát használhat a C#-tal. 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ódust használja egy alapszintű C# függvény implementálásához. 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 a következőket sajátíthatja el:
- Hozzon létre egy C# felhasználó által definiált függvényt a CodeBehind használatával.
- A Stream Analytics-feladat helyi tesztelése.
- Tegye közzé a feladatát az Azure-ban.
Előfeltételek
Mielőtt hozzákezd, győződjön meg arról, hogy teljesítette a következő előfeltételeket:
- Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
- Telepítse a Stream Analytics-eszközöket a Visual Studióhoz , valamint az Azure fejlesztési vagy adattárolási és feldolgozási számítási feladataihoz.
- 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ó. Minden Stream Analytics-feladathoz használjon dedikált tárolót. Ha ugyanazt a tárolót több Stream Analytics Edge-feladathoz használja újra, az nem támogatott. Ha már rendelkezik meglévő tárolókkal rendelkező tárfiókkal, használhatja őket. 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 a Fájl > Új > Projekt 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 a projekt nevét, helyét és megoldását, és válassza az OK gombot.
Szerelvénycsomag elérési útjának konfigurálása
Nyissa meg a Visual Studiót, és lépjen a Megoldáskezelőbe.
Kattintson duplán a feladatkonfigurációs fájlra.
JobConfig.jsonBontsa ki a User-Defined Kódkonfiguráció szakaszt, és töltse ki a konfigurációt a következő javasolt értékekkel:
Setting Javasolt érték Globális tárolási beállítások erőforrása Adatforrás kiválasztása az aktuális fiókból Globális tárolási beállítások előfizetése < előfizetése > Globális tárfiók beállítások < a tárfiók > Egyéni kódtár-beállítások erőforrása Adatforrás kiválasztása az aktuális fiókból Egyéni kódtár-beállítások tárfiókja < a tárfiók > Egyéni kódtár-beállítások tárolója < a tárolókonténer >
C# UDF írása a CodeBehind használatával
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 kell definiálni, és minden objektumot 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 a következő kódrészletre:
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őbenbontsa ki a Bemenetek elemet, kattintson a jobb gombbal aInput.jsonelemre, és válassza a Helyi bemenet hozzáadása lehetőséget.
Adja meg a letöltött és mentett mintaadatok helyi bemeneti fájljának elérési útját.
Kattintson a Helyi futtatás parancsra a szkriptszerkesztőben. Miután a helyi futtatás sikeresen mentette a kimeneti eredményeket, nyomja le bármelyik billentyűt az eredmények táblaformátumban való megtekintéséhez.
Az Eredmények megnyitása mappával JSON- és CSV-formátumban is megtekintheti a nyers fájlokat.
UDF hibakeresése
A C# UDF helyi hibakeresését ugyanúgy végezheti el, mint a standard C#-kód hibakeresését.
Töréspontokat adhat hozzá a C# függvényhez.
A hibakeresés megkezdéséhez nyomja le az F5 billentyűt. A program a várt módon leáll a töréspontoknál.
A feladat közzététele az Azure-ban
Miután helyileg tesztelte a lekérdezést, válassza a Küldés az Azure-ba lehetőséget a szkriptszerkesztőben a feladat 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 rövid útmutatóját követve hozzon létre egy IoT Hubot, regisztráljon egy IoT Edge-eszközt, és telepítse és indítsa el az IoT Edge-futtatókörnyezetet az eszközön. Ezután kövesse a feladat üzembe helyezésére vonatkozó oktatóanyagot a Stream Analytics-feladat IoT Edge-modulként való üzembe helyezéséhez.
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: