Oktatóanyag: C# felhasználó által definiált függvény írása az Azure Stream Analytics-feladathoz (előzetes verzió)

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:

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

  1. Indítsa el a Visual Studiót.

  2. Válassza a Fájl > Új > Projekt lehetőséget.

  3. 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.

  4. Adja meg a projekt nevét, helyét és megoldását, és válassza az OK gombot.

    Azure Stream Analytics Edge-projekt létrehozása a Visual Studióban

Szerelvénycsomag elérési útjának konfigurálása

  1. Nyissa meg a Visual Studiót, és lépjen a Megoldáskezelőbe.

  2. Kattintson duplán a feladatkonfigurációs fájlra. JobConfig.json

  3. Bontsa 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.

  1. A Megoldáskezelőben bontsa ki a Script.asql fájlt a Script.asaql.cs CodeBehind fájl megkereséséhez.

  2. 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

  1. A Megoldáskezelőben nyissa meg a Script.asaql fájlt.

  2. 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

  1. Töltse le a hőmérsékletszimulátor mintaadatfájlt.

  2. 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.

    Helyi bemenet hozzáadása a Stream Analytics-feladathoz a Visual Studióban

  3. Adja meg a letöltött és mentett mintaadatok helyi bemeneti fájljának elérési útját.

    Helyi bemeneti konfiguráció a Stream Analytics-feladathoz a Visual Studióban

  4. 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 Azure Stream Analytics-feladat helyi futtatása a Visual Studióval

  5. Az Eredmények megnyitása mappával JSON- és CSV-formátumban is megtekintheti a nyers fájlokat.

    Helyi Azure Stream Analytics-feladat eredményeinek megtekintése a Visual Studióval

UDF hibakeresése

A C# UDF helyi hibakeresését ugyanúgy végezheti el, mint a standard C#-kód hibakeresését.

  1. Töréspontokat adhat hozzá a C# függvényhez.

    Töréspontok hozzáadása a Stream Analytics felhasználó által definiált függvényéhez a Visual Studióban

  2. 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 Stream Analytics felhasználó által definiált függvény hibakeresési eredményeinek megtekintése

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.

Stream Analytics Edge-feladat elküldése az Azure-ba a Visual Studióból

Ü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: