Skriva till Azure SQL Database-tabell från dina Azure Stream Analytics-jobb
Azure Stream Analytics stöder Azure SQL Database som utdata för din strömmande fråga. Den här artikeln beskriver hur du använder SQL Database som utdata för Stream Analytics-jobbet i Azure Portal.
Förutsättningar
Skapa ett Stream Analytics-jobb.
Skapa en Azure SQL Database som Stream Analytics-jobbet ska skriva utdata till.
Skriva till en ny tabell i SQL Database
I det här avsnittet beskrivs hur du kan konfigurera jobbet för att skriva till en tabell i din Azure SQL-databas som ännu inte har skapats.
I Stream Analytics-jobbet väljer du Utdata under Jobbtopologi. Klicka på Lägg till och välj SQL Database.
Välj ett utdataalias som ska användas i jobbets fråga. Ange databasnamn och autentiseringsläge. Du kan läsa mer om konfigurationsalternativ för SQL-utdata.
Ange ett tabellnamn som du vill skapa i din Azure SQL Database. Klicka på Spara. Obs! Om du sparar dessa utdata skapas inte tabellen i SQL Database. Nästa steg innehåller mer information om när tabellen skapas.
Välj Fråga under Jobbtopologi och använd aliaset i frågan för att skriva utdata i tabellnamnet som du angav i föregående steg. Klicka på Testfråga för att testa frågelogik och visa Testresultat som visar schemat för de utdata som ska skapas av jobbet. Obs! Om du vill testa frågan måste du antingen ha inkommande strömmande data i indatakällan eller så kan du ladda upp exempeldata för att testa frågan. Du kan lära dig mer om Testa Stream Analytics-fråga.
Klicka på SQL-tabellschema för att visa kolumnnamnet och typen. Klicka på Skapa tabell så skapas tabellen i SQL-databasen.
Om Stream Analytics-frågan ändras för att skapa ett annat schema måste du ändra tabelldefinitionen i SQL Database. Detta säkerställer att Stream Analytics-jobbet inte stöter på datakonverteringsfel vid försök att skriva till mottagaren.
När frågan är klar väljer du Översikt och Starta jobbet. Du kan sedan navigera till tabellen SQL Database för att se dina strömmande frågeutdata.
Välj en befintlig tabell från SQL Database
I det här avsnittet beskrivs hur du kan konfigurera jobbet så att det skriver till en tabell som redan finns i din Azure SQL Database.
I Stream Analytics-jobbet väljer du Utdata under Jobbtopologi. Klicka på Lägg till och välj SQL Database.
Välj ett utdataalias som ska användas i jobbets fråga. Ange databasnamn och autentiseringsläge. Du kan läsa mer om konfigurationsalternativ för SQL-utdata.
Du kan välja en befintlig tabell från den valda SQL Database genom att ange information om SQL-autentisering. Då läses en lista över tabellnamn in från databasen. Välj tabellnamnet i listan eller ange tabellnamnet och Spara manuellt.
Välj Fråga under Jobbtopologi och använd aliasnamnet i frågan för att skriva utdata i den valda tabellen. Klicka på Testfråga för att testa frågelogik och visa testresultat. Obs! Om du vill testa frågan måste du antingen ha inkommande strömmande data i Event Hub/IoT Hub, eller så kan du ladda upp exempeldata för att testa frågan. Du kan lära dig mer om Testa Stream Analytics-fråga.
På fliken SQL-tabellschema kan du se ett kolumnnamn och dess typ från inkommande data och i den valda tabellen. Du kan se statusen om den inkommande datatypen och den valda SQL-tabellen matchar eller inte. Om det inte är en matchning uppmanas du att uppdatera frågan så att den matchar tabellschemat.
När frågan är klar väljer du Översikt och Starta jobbet. Du kan sedan navigera till tabellen SQL Database för att se dina strömmande frågeutdata.
Vanliga orsaker till matchningsfel för datatyper
Det är viktigt att se till att stream analytics-jobbets utdata matchar kolumnnamnen och datatyperna som förväntas av din SQL Database tabell. Om det finns ett matchningsfel kommer jobbet att stöta på datakonverteringsfel och kontinuerligt försöka igen tills SQL-tabelldefinitionen ändras. Du kan ändra jobbets beteende för att ta bort sådana utdata som orsakar datakonverteringsfel och gå vidare till nästa. De vanligaste orsakerna till schemamatchningsfel beskrivs nedan.
- Typmatchningsfel: Frågan och måltyperna är inte kompatibla. Rader infogas inte i målet. Använd en konverteringsfunktion som TRY_CAST() för att justera typerna i frågan. Det alternativa alternativet är att ändra måltabellen i SQL-databasen.
- Intervall: Måltypintervallet är betydligt mindre än det som används i frågan. Rader med värden som ligger utom intervallet kanske inte infogas i måltabellen eller trunkeras. Överväg att ändra målkolumnen till ett större typintervall.
- Implicit: Frågan och måltyperna är olika men kompatibla. Data konverteras implicit, men detta kan leda till dataförlust eller fel. Använd en konverteringsfunktion som TRY_CAST() för att justera typer i frågan eller ändra måltabellen.
- Arkivhandling: Den här typen stöds inte ännu för dessa utdata. Värdet ersätts av strängen "record". Överväg att parsa data eller använda en UDF för att konvertera till sträng.
- Matris: Den här typen stöds ännu inte internt i Azure SQL Database. Värdet ersätts av strängen "record". Överväg att parsa data eller använda en UDF för att konvertera till sträng.
- Kolumnen saknas i måltabellen: Den här kolumnen saknas i måltabellen. Data infogas inte. Lägg till den här kolumnen i måltabellen om det behövs.