Schrijven naar Azure SQL databasetabel vanuit uw Azure Stream Analytics-taken
Azure Stream Analytics ondersteunt Azure SQL Database als uitvoer voor uw streamingquery. In dit artikel wordt uitgelegd hoe u SQL Database kunt gebruiken als uitvoer voor uw Stream Analytics-taak in de Azure Portal.
Vereisten
Een Stream Analytics-taak maken.
Maak een Azure SQL Database waarnaar de Stream Analytics-taak uitvoer schrijft.
Schrijven naar een nieuwe tabel in SQL Database
In deze sectie wordt beschreven hoe u uw taak kunt configureren om te schrijven naar een tabel in uw Azure SQL Database die nog niet is gemaakt.
Selecteer uitvoer onder Taaktopologie in uw Stream Analytics-taak. Klik op Toevoegen en kies SQL Database.
Selecteer een uitvoeralias die wordt gebruikt in de query van uw taak. Geef uw databasenaam en verificatiemodus op. Meer informatie over configuratieopties voor SQL-uitvoer.
Voer een tabelnaam in die u wilt maken in uw Azure SQL Database. Klik op Opslaan. Opmerking: als u deze uitvoer opslaat, wordt de tabel in uw SQL Database niet gemaakt. In de volgende stappen vindt u meer informatie over wanneer de tabel wordt gemaakt.
Selecteer Query onder Taaktopologie en gebruik de alias in uw query om de uitvoer te schrijven in de tabelnaam die u in de vorige stap hebt opgegeven. Klik op Query testen om de querylogica te testen en testresultaten weer te geven met een schema van de uitvoer die door de taak wordt geproduceerd. Opmerking: als u uw query wilt testen, moet u binnenkomende streaminggegevens in uw invoerbron hebben, of u kunt voorbeeldgegevens uploaden om de query te testen. U vindt meer informatie over Stream Analytics-query testen.
Klik op SQL-tabelschema om de kolomnaam en het type weer te geven. Klik op Tabel maken om de tabel te maken in de SQL-database.
Als uw Stream Analytics-query is gewijzigd om een ander schema te produceren, moet u de tabeldefinitie in uw SQL Database wijzigen. Dit zorgt ervoor dat de Stream Analytics-taak geen gegevensconversiefouten ondervindt tijdens het schrijven naar de sink.
Zodra uw query definitief is, selecteert u Overzicht en Start u de taak. U kunt vervolgens naar de tabel SQL Database navigeren om de uitvoer van uw streamingquery te bekijken.
Een bestaande tabel selecteren in SQL Database
In deze sectie wordt beschreven hoe u uw taak kunt configureren om te schrijven naar een tabel die al bestaat in uw Azure SQL Database.
Selecteer uitvoer onder Taaktopologie in uw Stream Analytics-taak. Klik op Toevoegen en kies SQL Database.
Selecteer een uitvoeralias die wordt gebruikt in de query van uw taak. Geef uw databasenaam en verificatiemodus op. Meer informatie over configuratieopties voor SQL-uitvoer.
U kunt een bestaande tabel kiezen uit de geselecteerde SQL Database door uw SQL-verificatiegegevens in te voeren. Hiermee wordt een lijst met tabelnamen uit uw database geladen. Selecteer de tabelnaam in de lijst of voer handmatig de tabelnaam en Opslaan in.
Selecteer Query onder Taaktopologie en gebruik de aliasnaam in uw query om de uitvoer in de geselecteerde tabel te schrijven. Klik op Query testen om de querylogica te testen en testresultaten weer te geven. Opmerking: als u uw query wilt testen, moet u binnenkomende streaminggegevens in Event Hub/IoT Hub hebben, of u kunt voorbeeldgegevens uploaden om de query te testen. U vindt meer informatie over Stream Analytics-query testen.
Op het tabblad SQL-tabelschema ziet u een kolomnaam en het bijbehorende type van binnenkomende gegevens en in de geselecteerde tabel. U kunt de status zien of het binnenkomende gegevenstype en de geselecteerde SQL-tabel overeenkomen of niet. Als het geen overeenkomst is, wordt u gevraagd uw query bij te werken zodat deze overeenkomt met het tabelschema.
Zodra uw query definitief is, selecteert u Overzicht en Start u de taak. U kunt vervolgens naar de tabel SQL Database navigeren om de uitvoer van uw streamingquery te bekijken.
Veelvoorkomende redenen voor niet-overeenkomende gegevenstypen
Het is belangrijk om ervoor te zorgen dat de uitvoer van uw Stream Analytics-taak overeenkomt met de kolomnamen en gegevenstypen die door uw SQL Database tabel worden verwacht. Als er sprake is van een niet-overeenkomende taak, krijgt uw taak te maken met gegevensconversiefouten en wordt het continu opnieuw geprobeerd totdat de definitie van de SQL-tabel is gewijzigd. U kunt het gedrag van uw taak wijzigen om uitvoer te verwijderen die gegevensconversiefouten veroorzaakt en door te gaan met de volgende. De meest voorkomende redenen voor niet-overeenkomende schema's worden hieronder beschreven.
- Type komt niet overeen: de query- en doeltypen zijn niet compatibel. Er worden geen rijen ingevoegd in het doel. Gebruik een conversiefunctie zoals TRY_CAST() om typen in de query uit te lijnen. De alternatieve optie is om de doeltabel in uw SQL-database te wijzigen.
- Bereik: het doeltypebereik is aanzienlijk kleiner dan het bereik dat in de query wordt gebruikt. Rijen met waarden buiten het bereik mogen niet worden ingevoegd in de doeltabel of worden afgekapt. U kunt de doelkolom wijzigen in een groter typebereik.
- Impliciet: de query- en doeltypen zijn verschillend, maar compatibel. De gegevens worden impliciet geconverteerd, maar dit kan leiden tot gegevensverlies of fouten. Gebruik een conversiefunctie zoals TRY_CAST() om typen in de query uit te lijnen of wijzig de doeltabel.
- Record: dit type wordt nog niet ondersteund voor deze uitvoer. De waarde wordt vervangen door de tekenreeks 'record'. Overweeg de gegevens te parseren of een UDF te gebruiken om te converteren naar een tekenreeks.
- Matrix: dit type wordt nog niet systeemeigen ondersteund in Azure SQL Database. De waarde wordt vervangen door de tekenreeks 'record'. Overweeg de gegevens te parseren of een UDF te gebruiken om te converteren naar een tekenreeks.
- Kolom ontbreekt in doeltabel: deze kolom ontbreekt in de doeltabel. De gegevens worden niet ingevoegd. Voeg deze kolom indien nodig toe aan de doeltabel.