Megosztás a következőn keresztül:


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

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:

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

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

  2. Válassza az Új > projekt fájlja > 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 az alkalmazás nevét, helyét és a megoldás nevét, majd kattintson az OK gombra.

    Create an Azure Stream Analytics Edge project in Visual Studio

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

  1. Nyissa meg a Visual Studio Megoldáskezelőjét.

  2. Kattintson duplán a feladat konfigurációs fájljára (JobConfig.json).

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

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

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

    Add local input to Stream Analytics job in Visual Studio

  3. Adja meg a helyi bemeneti fájl útvonalát a letöltött mintaadatokban, majd mentse a módosításokat.

    Local input configuration for Stream Analytics job in Visual Studio

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

    Run Azure Stream Analytics job locally with Visual Studio

  5. A nyersfájlokat JSON és CSV formátumban is megtekinthet az Eredmények mappa megnyitása lehetőséggel.

    View results of local Azure Stream Analytics job with Visual Studio

UDF hibakeresése

A C# UDF-en helyileg, a szabványos C#-kódokhoz hasonlóan végezhet hibakeresést.

  1. Adjon töréspontokat a C# függvényhez.

    Add breakpoints to Stream Analytics user-defined function in Visual Studio

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

    View Stream Analytics user-defined function debugging results

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.

Submit your Stream Analytics Edge job to Azure from Visual Studio

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