Použití referenčních dat z SQL Database pro úlohu Azure Stream Analytics
Azure Stream Analytics podporuje Azure SQL Database jako zdroj vstupu pro referenční data. Můžete použít SQL Database jako referenční data pro úlohu Stream Analytics v Azure Portal a v aplikaci Visual Studio s nástroji pro Stream Analytics. Tento článek ukazuje, jak provést obě metody.
portál Azure
Pomocí následujících kroků přidejte Azure SQL Database jako vstupní zdroj odkazů pomocí Azure Portal:
Předpoklady pro portál
Vytvoření úlohy Stream Analytics
Vytvořte účet úložiště, který bude Stream Analytics úloha používat.
Vytvořte svůj Azure SQL Database s datovou sadou, která má být použita jako referenční data, úlohou Stream Analytics.
Definování datového vstupu SQL Database referenčních dat
V Stream Analytics úlohy vyberte vstupy v části topologie úloh. Klikněte na Přidat vstup odkazu a vyberte SQL Database.

Doplňte Stream Analytics vstupních konfigurací. Vyberte název databáze, název serveru, uživatelské jméno a heslo. Pokud chcete, aby se váš referenční datový vstup pravidelně aktualizoval, zvolte možnost Zapnuto a zadejte obnovovací frekvenci v DD: HH: MM. Pokud máte velké sady dat se zkrácenou frekvencí obnovení, můžete použít rozdílový dotaz.

Otestujte dotaz na snímek v editoru dotazů SQL. Další informace najdete v tématu použití Editoru dotazů SQL Azure Portal k připojení a dotazování dat .
Zadat účet úložiště v konfiguraci úlohy
V části Konfigurace a vyberte Přidat účet úložiště přejděte do Nastavení účtu úložiště .

Spuštění úlohy
Jakmile nakonfigurujete jiné vstupy, výstupy a dotazy, můžete spustit úlohu Stream Analytics.
Nástroje pro sadu Visual Studio
Pomocí následujících kroků přidejte Azure SQL Database jako vstupní zdroj odkazů pomocí sady Visual Studio:
Požadavky sady Visual Studio
Nainstalujte nástroje Stream Analytics Tools for Visual Studio. Podporují se tyto verze sady Visual Studio:
- Visual Studio 2015
- Visual Studio 2019
Seznamte se s nástroji pro Stream Analytics pro rychlé zprovoznění sady Visual Studio.
Vytvoření účtu úložiště
Vytvoření tabulky SQL Database
Pomocí SQL Server Management Studio můžete vytvořit tabulku, do které se budou ukládat referenční data. Podrobnosti najdete v tématu Návrh první Azure SQL Database s využitím SSMS .
Ukázková tabulka použitá v následujícím příkladu se vytvořila z následujícího příkazu:
create table chemicals(Id Bigint,Name Nvarchar(max),FullName Nvarchar(max));
Zvolte vaše předplatné.
V sadě Visual Studio v nabídce Zobrazení vyberte Průzkumník serveru.
Klikněte pravým tlačítkem na Azure, vyberte připojit k předplatnému Microsoft Azure a přihlaste se pomocí svého účtu Azure.
Vytvoření projektu Stream Analytics
Vyberte Soubor > Nový projekt.
V seznamu šablon na levé straně vyberte Stream Analytics a pak vyberte Aplikace Azure Stream Analytics.
Zadejte název projektu, umístění a název řešení a vyberte OK.

Definování datového vstupu SQL Database referenčních dat
Vytvoří nový vstup.

Dvakrát klikněte na Input.js v Průzkumník řešení.
Vyplňte konfiguraci Stream Analyticsho vstupu. Vyberte název databáze, název serveru, typ aktualizace a obnovovací frekvenci. Zadejte obnovovací frekvenci ve formátu
DD:HH:MM.
Pokud zvolíte možnost spustit pouze jednou nebo spustit pravidelně, jeden soubor CodeBehind SQL s názvem [vstupní alias]. Snapshot. SQL se vygeneruje v projektu pod Input.jsv uzlu File (soubor).

Pokud zvolíte možnost pravidelně aktualizovat s rozdílem, budou se generovat dva soubory CodeBehind SQL: [Input alias]. Snapshot. SQL a [Input alias]. Delta. SQL.

Otevřete soubor SQL v editoru a napište dotaz SQL.
Pokud používáte Visual Studio 2019 a máte nainstalované nástroje SQL Server Data Tools, můžete otestovat dotaz kliknutím na Spustit. Automaticky se otevře okno průvodce, které vám pomůže se připojit k SQL Database a výsledek dotazu se zobrazí v dolní části okna.
Zadat účet úložiště
Otevřete JobConfig.jsv a určete účet úložiště pro ukládání snímků odkazů SQL.

Místní test a nasazení do Azure
Před nasazením úlohy do Azure můžete testovat logiku dotazu místně proti živým vstupním datům. Další informace o této funkci naleznete v tématu test Live data místně pomocí Azure Stream Analyticsch nástrojů pro Visual Studio (Preview). Až budete s testováním hotovi, klikněte na Odeslat do Azure. Pokud se chcete dozvědět, jak spustit úlohu, přečtěte si článek vytvoření Stream Analytics pomocí Azure Stream Analytics nástrojů pro Visual Studio Starter.
Rozdílový dotaz
Při použití rozdílového dotazu jsou doporučeny dočasné tabulky v Azure SQL Database .
Vytvořte dočasnou tabulku v Azure SQL Database.
CREATE TABLE DeviceTemporal ( [DeviceId] int NOT NULL PRIMARY KEY CLUSTERED , [GroupDeviceId] nvarchar(100) NOT NULL , [Description] nvarchar(100) NOT NULL , [ValidFrom] datetime2 (0) GENERATED ALWAYS AS ROW START , [ValidTo] datetime2 (0) GENERATED ALWAYS AS ROW END , PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo) ) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.DeviceHistory)); -- DeviceHistory table will be used in Delta queryVytvořte snímek dotazu.
Pomocí parametru @ snapshotTime instruujte modul runtime Stream Analytics, aby získal referenční datovou sadu z SQL Database dočasná tabulka platná v systémovém čase. Pokud tento parametr nezadáte, riskujete získat nepřesnou datovou sadu základních referenčních dat z důvodu zešikmení hodin. Příklad úplného dotazu na snímek je uveden níže:
SELECT DeviceId, GroupDeviceId, [Description] FROM dbo.DeviceTemporal FOR SYSTEM_TIME AS OF @snapshotTimeVytvořte rozdílový dotaz.
Tento dotaz načte všechny řádky ve SQL Database, které byly vloženy nebo odstraněny v čase zahájení, v @ deltaStartTime a čase ukončení @ deltaEndTime. Rozdílový dotaz musí vracet stejné sloupce jako dotaz snímku a také operaci sloupce. Tento sloupec definuje, jestli se řádek vloží nebo odstraní mezi @ deltaStartTime a @ deltaEndTime. Výsledné řádky jsou označeny jako 1 , pokud byly záznamy vloženy, nebo 2 , pokud byly odstraněny. Dotaz musí také přidat vodoznak ze strany SQL Server, aby bylo zajištěno, že všechny aktualizace v období rozdílů jsou správně zachyceny. Použití rozdílového dotazu bez meze může mít za následek nesprávnou datovou sadu reference.
U záznamů, které byly aktualizovány, dočasná tabulka provádí účetnictví zachycením operace vložení a odstranění. Modul runtime Stream Analytics pak použije výsledky rozdílového dotazu na předchozí snímek, aby byla referenční data v aktuálním stavu. Příkladem rozdílového dotazu je znázorněno níže:
SELECT DeviceId, GroupDeviceId, Description, ValidFrom as _watermark_, 1 as _operation_ FROM dbo.DeviceTemporal WHERE ValidFrom BETWEEN @deltaStartTime AND @deltaEndTime -- records inserted UNION SELECT DeviceId, GroupDeviceId, Description, ValidTo as _watermark_, 2 as _operation_ FROM dbo.DeviceHistory -- table we created in step 1 WHERE ValidTo BETWEEN @deltaStartTime AND @deltaEndTime -- record deletedVšimněte si, že modul runtime Stream Analytics může pravidelně spouštět dotaz na snímky společně s rozdílovým dotazem na ukládání kontrolních bodů.
Otestování dotazu
Je důležité ověřit, že váš dotaz vrací očekávanou datovou sadu, kterou bude Stream Analytics úloha používat jako referenční data. Dotaz otestujete tak, že v části topologie úloh na portálu přejdete na vstup. Pak můžete vybrat ukázková data na SQL Database odkazem na vstup. Jakmile bude ukázka k dispozici, můžete stáhnout soubor a ověřit, zda jsou vracená data podle očekávání. Pokud chcete optimalizovat vaše iterace vývoje a testování, doporučuje se používat nástroje Stream Analytics pro Visual Studio. Můžete také použít jakýkoli jiný nástroj vaší předvolby, abyste nejdřív zajistili, že dotaz vrací správné výsledky od vás Azure SQL Database a pak ho použijete v úloze Stream Analytics.
Otestujte dotaz pomocí Visual Studio Code
Nainstalujte Azure Stream Analytics nástroje a SQL Server (mssql) na Visual Studio Code a nastavte svůj projekt ASA. Další informace najdete v tématu rychlý Start: vytvoření úlohy Azure Stream Analytics v Visual Studio Code a v kurzu rozšíření SQL Server (MSSQL).
Nakonfigurujte zadání referenčních dat SQL.

Vyberte ikonu SQL Server a klikněte na Přidat připojení.

Vyplňte informace o připojení.

Klikněte pravým tlačítkem na odkaz SQL a vyberte Spustit dotaz.

Vyberte připojení.

Zkontrolujte a ověřte výsledek dotazu.

Nejčastější dotazy
Účtují se vám dodatečné náklady pomocí vstupu SQL referenčních dat v Azure Stream Analytics?
V úloze Stream Analytics se neúčtují žádné další náklady na jednotku streamování . Úloha Stream Analytics ale musí mít přidružený účet úložiště Azure. Úloha Stream Analytics se dotazuje databáze SQL (při zahájení úlohy a intervalu aktualizace), aby získala referenční datovou sadu a ukládá tento snímek do účtu úložiště. Uložení těchto snímků bude mít za následek detailní podrobnější poplatky na stránce s cenami pro účet služby Azure Storage.
Návody informace o snímku referenčních dat se dotazuje z databáze SQL a používá se v úloze Azure Stream Analytics?
Existují dvě metriky filtrované podle logického názvu (v rámci metrik Azure Portal), které můžete použít k monitorování stavu SQL Database referenčních dat.
- InputEvents: Tato metrika měří počet záznamů načtených z SQL Database referenční datovou sadou.
- InputEventBytes: Tato metrika měří velikost snímku referenčních dat načteného v paměti Stream Analytics úlohy.
Kombinaci obou těchto metrik lze použít k odvození, pokud se úloha dotazuje SQL Database načíst referenční datovou sadu a následně ji načíst do paměti.
Vyžaduje se zvláštní typ Azure SQL Database?
Azure Stream Analytics bude fungovat s jakýmkoli typem Azure SQL Database. Je ale důležité si uvědomit, že nastavená obnovovací frekvence pro váš vstupní datový vstup by mohla mít vliv na vaše zatížení dotazu. Chcete-li použít možnost rozdílového dotazu, doporučuje se použít dočasné tabulky v Azure SQL Database.
Proč Azure Stream Analytics ukládají snímky v Azure Storagem účtu?
Stream Analytics zaručuje právě jedno zpracování událostí a minimálně jedno doručení událostí. V případech, kdy problémy s přechodnou úlohou ovlivňují, je pro stav obnovení zapotřebí malé množství opakování. Chcete-li povolit opakované přehrání, je nutné, aby tyto snímky byly uloženy v účtu Azure Storage. Další informace o opětovném přehrání kontrolního bodu najdete v tématu Koncepty a přehrání konceptů v Azure Stream Analytics úlohách.