Sdílet prostřednictvím


Zápis do tabulky Azure SQL Database z úloh Azure Stream Analytics

Azure Stream Analytics podporuje jako výstup dotazu streamování Azure SQL Database. Tento článek vysvětluje, jak používat SQL Database jako výstup pro úlohu Stream Analytics v Azure Portal.

Požadavky

  1. Vytvoření úlohy Stream Analytics

  2. Vytvořte Azure SQL Database, do které bude úloha Stream Analytics zapisovat výstup.

Zápis do nové tabulky v SQL Database

Tato část popisuje, jak můžete úlohu nakonfigurovat tak, aby zapisovala do tabulky v databázi Azure SQL, která ještě nebyla vytvořena.

  1. V úloze Stream Analytics vyberte Výstupy v části Topologie úlohy. Klikněte na Přidat a zvolte SQL Database.

    Snímek obrazovky s výstupem databáze SQL ve Stream Analytics

  2. Vyberte alias výstupu, který se použije v dotazu úlohy. Zadejte název databáze a režim ověřování. Můžete si přečíst další informace o možnostech konfigurace výstupu SQL.

  3. Zadejte název tabulky, kterou chcete vytvořit ve službě Azure SQL Database. Klikněte na Uložit. Poznámka: Uložením tohoto výstupu nedojde k vytvoření tabulky v SQL Database. Další kroky poskytují další podrobnosti o tom, kdy se tabulka vytvoří.

    Snímek obrazovky znázorňující konfiguraci výstupu databáze SQL ve Stream Analytics

  4. V části Topologie úlohy vyberte Dotaz a pomocí aliasu v dotazu zapište výstup do názvu tabulky, který jste zadali v předchozím kroku. Kliknutím na Testovat dotaz otestujete logiku dotazu a zobrazíte výsledky testu , které zobrazují schéma výstupu vytvořeného úlohou. Poznámka: K otestování dotazu musíte mít buď příchozí streamovaná data ve vstupním zdroji, nebo můžete nahrát ukázková data do testovacího dotazu. Můžete si přečíst další informace o testovacím dotazu Stream Analytics.

    Snímek obrazovky zobrazující testování dotazů ve Stream Analytics

    Snímek obrazovky zobrazující výsledky testů dotazů ve Stream Analytics

  5. Kliknutím na Schéma tabulky SQL zobrazíte název a typ sloupce. Klikněte na Vytvořit tabulku a vaše tabulka se vytvoří v databázi SQL.

    Snímek obrazovky znázorňující vytvoření tabulky v databázi SQL ze Stream Analytics

    Pokud je dotaz Stream Analytics upravený tak, aby vytvářel jiné schéma, budete muset změnit definici tabulky v SQL Database. Tím se zajistí, že úloha Stream Analytics při pokusu o zápis do jímky nenarazí na chyby převodu dat.

  6. Po dokončení dotazu vyberte Přehled a spusťte úlohu. Pak můžete přejít do tabulky SQL Database a zobrazit výstup dotazu streamování.

Výběr existující tabulky z SQL Database

Tato část popisuje, jak můžete úlohu nakonfigurovat tak, aby zapisuje do tabulky, která už v databázi Azure SQL existuje.

  1. V úloze Stream Analytics vyberte Výstupy v části Topologie úlohy. Klikněte na Přidat a zvolte SQL Database.

    Snímek obrazovky s výstupem databáze SQL ve Stream Analytics

  2. Vyberte alias výstupu, který se použije v dotazu úlohy. Zadejte název databáze a režim ověřování. Můžete si přečíst další informace o možnostech konfigurace výstupu SQL.

  3. Zadáním podrobností o ověřování SQL můžete vybrat existující tabulku z vybraného SQL Database. Tím se načte seznam názvů tabulek z vaší databáze. Vyberte název tabulky ze seznamu nebo ručně zadejte název tabulky a uložit.

    Snímek obrazovky znázorňující existující tabulku v databázi SQL

  4. V části Topologie úlohy vyberte Dotaz a pomocí názvu aliasu v dotazu zapište výstup do vybrané tabulky. Kliknutím na Testovat dotaz otestujete logiku dotazu a zobrazíte výsledky testu. Poznámka: K otestování dotazu potřebujete buď příchozí streamovaná data v centru událostí nebo IoT Hub, nebo můžete nahrát ukázková data do testovacího dotazu. Můžete si přečíst další informace o testovacím dotazu Stream Analytics.

    Snímek obrazovky zobrazující testování dotazů ve Stream Analytics

    Snímek obrazovky zobrazující výsledky testů dotazů ve Stream Analytics

  5. Na kartě Schéma tabulky SQL uvidíte název sloupce a jeho typ z příchozích dat a ve vybrané tabulce. Můžete zobrazit stav bez ohledu na to, jestli se příchozí datový typ shoduje s vybranou tabulkou SQL. Pokud se nejedná o shodu, zobrazí se výzva k aktualizaci dotazu tak, aby odpovídal schématu tabulky.

    Snímek obrazovky znázorňující porovnání schémat ve Stream Analytics

  6. Po dokončení dotazu vyberte Přehled a spusťte úlohu. Pak můžete přejít do tabulky SQL Database a zobrazit výstup dotazu streamování.

Běžné důvody neshody datových typů

Je důležité zajistit, aby výstup úlohy Stream Analytics odpovídal názvům sloupců a datovým typům očekávaným SQL Database tabulce. Pokud dojde k neshodě, ve vaší úloze dojde k chybám převodu dat a bude se to opakovat, dokud se nezmění definice tabulky SQL. Můžete změnit chování úlohy tak, aby vyřadil výstup, který způsobuje chyby převodu dat, a pokračovat k dalšímu výstupu. Nejběžnější příčiny neshod schématu jsou popsány níže.

  • Neshoda typů: Dotazy a cílové typy nejsou kompatibilní. Řádky nebudou vloženy do cíle. K zarovnání typů v dotazu použijte funkci převodu , například TRY_CAST(). Alternativní možností je změnit cílovou tabulku v databázi SQL.
  • Rozsah: Rozsah cílových typů je výrazně menší než rozsah použitý v dotazu. Řádky s hodnotami mimo rozsah nesmí být vloženy do cílové tabulky nebo zkráceny. Zvažte změnu cílového sloupce na větší rozsah typů.
  • Implicitní: Typy dotazů a cílů se liší, ale jsou kompatibilní. Data budou implicitně převedena, ale to může vést ke ztrátě nebo selhání dat. K zarovnání typů v dotazu nebo změně cílové tabulky použijte funkci převodu , například TRY_CAST().
  • Záznam: Tento typ zatím není pro tento výstup podporovaný. Hodnota bude nahrazena řetězcem "record". Zvažte analýzu dat nebo převod na řetězec pomocí funkce definované uživatelem.
  • Pole: Tento typ se zatím ve službě Azure SQL Database nativně nepodporuje. Hodnota bude nahrazena řetězcem "record". Zvažte analýzu dat nebo převod na řetězec pomocí funkce definované uživatelem.
  • V cílové tabulce chybí sloupec: Tento sloupec v cílové tabulce chybí. Data se nevloží. V případě potřeby přidejte tento sloupec do cílové tabulky.

Další kroky