Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
30. září 2024 se vyřadí uživatelem definované funkce .Net Standard pro Azure Stream Analytics. Po tomto datu nebude možné tuto funkci používat. Přejděte na uživatelem definované funkce JavaScriptu pro Azure Stream Analytics.
Uživatelem definované funkce jazyka C# vytvořené v sadě Visual Studio umožňují rozšířit dotazovací jazyk Azure Stream Analytics vlastními funkcemi. Existující kód (včetně knihoven DLL) můžete znovu použít a v jazyce C# použít matematickou nebo složitou logiku. Existují tři způsoby implementace uživatelsky definovaných funkcí:
- Soubory CodeBehind v projektu Stream Analytics
- Funkce definované uživatelem z místního projektu jazyka C#
- Funkce UDF z existujícího balíčku z účtu úložiště.
Tento kurz používá metodu CodeBehind k implementaci základní funkce jazyka C#. UDF funkce pro práce Stream Analytics je aktuálně v náhledové verzi a neměla by se používat pro produkční pracovní zátěže.
V tomto návodu se naučíte, jak:
- Vytvořte uživatelem definovanou funkci jazyka C# pomocí CodeBehind.
- Otestujte úlohu Stream Analytics místně.
- Publikujte úlohu do Azure.
Požadavky
Než začnete, ujistěte se, že jste dokončili následující požadavky:
- Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
- Nainstalujte nástroje Stream Analytics pro Visual Studio a úlohy Azure vývoje nebo Úložiště a zpracování dat.
- Pokud vytváříte úlohu IoT Edge, podívejte se na existujícího průvodce vývojem Stream Analytics Edge .
Vytvoření kontejneru v účtu služby Azure Storage
Kontejner, který vytvoříte, se používá k uložení kompilovaného balíčku jazyka C#. Pokud vytvoříte úlohu Edge, tento účet úložiště se také použije k nasazení balíčku do zařízení IoT Edge. Pro každou úlohu Stream Analytics použijte vyhrazený kontejner. Opětovné použití stejného kontejneru pro více úloh Stream Analytics Edge se nepodporuje. Pokud už máte účet úložiště se stávajícími kontejnery, můžete je použít. Pokud ne, musíte vytvořit nový kontejner.
Vytvořte projekt Stream Analytics v sadě Visual Studio
Spusťte Visual Studio.
Vyberte Soubor > Nový > Projekt.
V seznamu šablon vlevo vyberte Stream Analytics a pak vyberte aplikaci Azure Stream Analytics Edge nebo aplikaci Azure Stream Analytics.
Zadejte název projektu, umístění a název řešení a vyberte OK.
Konfigurujte cestu balíčku sestavení
Otevřete Visual Studio a přejděte do Průzkumníka řešení.
Poklikejte na konfigurační soubor úlohy.
JobConfig.jsonRozbalte oddíl Konfigurace uživatelsky definovaného kódu a vyplňte konfiguraci následujícími navrhovanými hodnotami:
Nastavení Navrhovaná hodnota Prostředek globálního nastavení úložiště Volba zdroje dat z aktuálního účtu Předplatné globálního nastavení úložiště < vaše předplatné > Globální nastavení úložiště Účet úložiště < váš účet pro úložiště > Prostředek vlastního nastavení úložiště kódu Volba zdroje dat z aktuálního účtu Nastavení úložiště vlastního kódu Účet úložiště < váš účet pro úložiště > Kontejner nastavení úložiště vlastního kódu < váš kontejner úložiště >
Napsání uživatelsky definované funkce v C# pomocí CodeBehind
Soubor CodeBehind je soubor C# přidružený k jednomu skriptu dotazu ASA. Nástroje sady Visual Studio automaticky zazipují soubor CodeBehind a po odeslání ho nahrají do účtu úložiště Azure. Všechny třídy musí být definovány jako veřejné a všechny objekty musí být definovány jako statické veřejné.
V Průzkumníku řešení rozbalte Script.asql a vyhledejte soubor Script.asaql.cs CodeBehind.
Nahraďte kód následujícím vzorovým kódem:
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; } } }
Implementujte UDF
V Průzkumníku řešení otevřete soubor Script.asaql .
Existující dotaz nahraďte následujícím dotazem:
SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint)) INTO Output FROM Input
Místní testování
V Průzkumníku řešení rozbalte vstupy, klikněte pravým tlačítkem na Input.jsona vyberte Přidat místní vstup.
Zadejte cestu k místnímu vstupnímu souboru pro ukázková data, která jste stáhli, a uložte.
V editoru skriptů klikněte na Spustit místně . Jakmile místní spuštění úspěšně uloží výsledky výstupu, stisknutím libovolné klávesy zobrazíte výsledky ve formátu tabulky.
Můžete také vybrat Otevřít složku výsledků a zobrazit nezpracované soubory ve formátu JSON a CSV.
Ladění uživatelsky definované funkce
UDF jazyka C# můžete ladit místně stejným způsobem jako standardní kód jazyka C#.
Přidejte do funkce jazyka C# zarážky.
Stisknutím klávesy F5 spusťte ladění. Program se zastaví na breakpointech podle očekávání.
Publikování úlohy do Azure
Po místním otestování dotazu v editoru skriptů v editoru skriptů vyberte Odeslat do Azure a publikujte úlohu do Azure.
Nasazení do zařízení IoT Edge
Pokud jste se rozhodli vytvořit úlohu Stream Analytics Edge, můžete ji teď nasadit jako modul IoT Edge. Postupujte podle rychlého startu ioT Edge a vytvořte IoT Hub, zaregistrujte zařízení IoT Edge a nainstalujte a spusťte modul runtime IoT Edge na vašem zařízení. Pak postupujte podle kurzu nasazení úlohy a nasaďte úlohu Stream Analytics jako modul IoT Edge.
Další kroky
V tomto kurzu jste vytvořili jednoduchou uživatelem definovanou funkci jazyka C# pomocí CodeBehind, publikovali jste úlohu do Azure a nasadili ji do zařízení Azure nebo IoT Edge.
Další informace o různých způsobech použití uživatelem definovaných funkcí jazyka C# pro úlohy Stream Analytics najdete v tomto článku: