Partager via


Écrire dans une table Azure SQL Database à partir de vos travaux Azure Stream Analytics

Azure Stream Analytics prend en charge Azure SQL Database en tant que sortie pour votre requête de diffusion en continu. Cet article explique comment utiliser SQL Database comme sortie pour votre travail Stream Analytics dans le portail Azure.

Prérequis

  1. Créez une tâche Stream Analytics.

  2. Créez une base de données Azure SQL dans laquelle votre travail Stream Analytics écrit la sortie.

Écrire dans une nouvelle table dans SQL Database

Cette section décrit comment configurer votre travail pour écrire dans une table dans votre instance Azure SQL Database qui n’a pas encore été créée.

  1. Dans votre tâche Stream Analytics, sélectionnez Sorties sous Topologie de la tâche. Cliquez sur Ajouter et choisissez SQL Database.

    Capture d’écran montrant la sortie de la base de données SQL dans Stream Analytics.

  2. Sélectionnez un alias de sortie qui sera utilisé dans la requête de votre travail. Indiquez le nom et le mode d’authentification de votre base de données. Vous pouvez en savoir plus sur les options de configuration de sortie SQL.

  3. Entrez un nom de table que vous souhaitez créer dans votre instance Azure SQL Database. Cliquez sur Enregistrer. Remarque : L’enregistrement de cette sortie ne crée pas la table dans votre SQL Database. Les étapes suivantes fournissent plus d’informations sur la création de la table.

    Capture d’écran montrant la configuration de sortie de la base de données SQL dans Stream Analytics.

  4. Sélectionnez Requête sous Topologie de travail et utilisez l’alias dans votre requête pour écrire la sortie dans le nom de table que vous avez fourni à l’étape précédente. Cliquez sur Tester la requête pour tester la logique de requête, et affichez les Résultats de test, qui présentent le schéma de la sortie qui sera produite par le travail. Remarque : Pour tester votre requête, vous devez disposer de données de diffusion en continu entrantes dans votre source d’entrée, ou vous pouvez charger des exemples de données pour tester la requête. Apprenez-en plus dans Tester une requête Stream Analytics.

    Capture d’écran montrant le test de requêtes dans la base de données SQL dans Stream Analytics.

    Capture d’écran montrant les résultats des tests de requêtes dans la base de données SQL dans Stream Analytics.

  5. Cliquez sur Schéma de table SQL pour afficher le nom et le type de colonne. Cliquez sur Créer une table et votre table sera créée dans la base de données SQL.

    Capture d’écran montrant la création d’une table dans une base de données SQL à partir de Stream Analytics.

    Si votre requête Stream Analytics est modifiée pour produire un schéma différent, vous devez modifier votre définition de table dans votre SQL Database. Cela garantit que le travail Stream Analytics ne rencontrera pas d’erreurs de conversion de données lors de la tentative d’écriture dans le récepteur.

  6. Une fois que votre requête est finale, sélectionnez Vue d’ensemble et Démarrer pour le travail. Vous pouvez ensuite accéder à la table SQL Database pour afficher la sortie de votre requête de diffusion en continu.

Sélectionner une table existante dans SQL Database

Cette section décrit comment configurer votre travail pour écrire dans une table qui existe déjà dans votre base de données Azure SQL.

  1. Dans votre tâche Stream Analytics, sélectionnez Sorties sous Topologie de la tâche. Cliquez sur Ajouter et choisissez SQL Database.

    Capture d’écran montrant la sortie de la base de données SQL dans Stream Analytics.

  2. Sélectionnez un alias de sortie qui sera utilisé dans la requête de votre travail. Indiquez le nom et le mode d’authentification de votre base de données. Vous pouvez en savoir plus sur les options de configuration de sortie SQL.

  3. Vous pouvez choisir une table existante dans l’instance SQL Database sélectionnée en entrant vos détails d’authentification SQL. Cela charge une liste de noms de table à partir de votre base de données. Sélectionnez le nom de la table dans la liste ou entrez manuellement le nom de la table, puis sélectionnez Enregistrer.

    Capture d’écran montrant une table existante dans la base de données SQL.

  4. Sélectionnez Requête sous Topologie de travail et utilisez le nom d’alias dans votre requête pour écrire la sortie dans la table sélectionnée. Cliquez sur Tester la requête pour tester la logique de requête, et affichez les Résultats de test. Remarque : Pour tester votre requête, vous devez disposer de données de diffusion en continu entrantes dans Event Hub/IoT Hub, ou vous pouvez charger des exemples de données pour tester la requête. Apprenez-en plus dans Tester une requête Stream Analytics.

    Capture d’écran montrant le test de requêtes dans la base de données SQL dans Stream Analytics.

    Capture d’écran montrant les résultats des tests de requêtes dans la base de données SQL dans Stream Analytics.

  5. Dans l’onglet Schéma de table SQL, vous pouvez voir un nom de colonne et son type à partir des données entrantes et dans la table sélectionnée. Vous pouvez voir l’état peu importe si le type de données entrant et la table SQL sélectionnée correspondent ou non. Si ce n’est pas une correspondance, vous êtes invité à mettre à jour votre requête pour qu’elle corresponde au schéma de table.

    Capture d’écran montrant la comparaison de schémas dans Stream Analytics.

  6. Une fois que votre requête est finale, sélectionnez Vue d’ensemble et Démarrer pour le travail. Vous pouvez ensuite accéder à la table SQL Database pour afficher la sortie de votre requête de diffusion en continu.

Raisons courantes d’incompatibilité de type de données

Il est important de s’assurer que la sortie de votre travail Stream Analytics correspond aux noms de colonnes et aux types de données attendus par votre table SQL Database. S’il existe une incompatibilité, votre travail rencontrera des erreurs de conversion de données et réessaiera continuellement jusqu’à ce que la définition de la table SQL soit modifiée. Vous pouvez modifier le comportement de votre travail pour supprimer une telle sortie qui provoque des erreurs de conversion de données et passer à la suivante. Les raisons les plus courantes de l’incompatibilité de schéma sont décrites ci-dessous.

  • Incompatibilité de type : les types de la requête et de la cible ne sont pas compatibles. Les lignes ne seront pas insérées dans la destination. Utilisez une fonction de conversion telle que TRY_CAST() pour aligner les types dans la requête. L’autre option consiste à modifier la table de destination dans votre base de données SQL.
  • Plage : la plage de types cible est considérablement plus petite que celle utilisée dans la requête. Les lignes avec des valeurs hors plage peuvent ne pas être insérées dans la table de destination, ou être tronquées. Envisagez de modifier la colonne de destination en une plage de types plus grande.
  • Implicite : Les types de requête et de cible sont différents mais compatibles. Les données seront converties implicitement, mais cela peut entraîner une perte de données ou des défaillances. Utilisez une fonction de conversion telle que TRY_CAST() pour aligner les types dans la requête ou modifier la table de destination.
  • Enregistrement : ce type n’est pas encore pris en charge pour cette sortie. La valeur est remplacée par la chaîne « record ». Envisagez d’analyser les données ou d’utiliser une fonction UDF pour effectuer une conversion en chaîne.
  • Tableau : ce type n’est pas encore pris en charge en mode natif dans Azure SQL Database. La valeur est remplacée par la chaîne « record ». Envisagez d’analyser les données ou d’utiliser une fonction UDF pour effectuer une conversion en chaîne.
  • Colonne manquante dans la table de destination : cette colonne est manquante dans la table de destination. Les données ne seront pas insérées. Ajoutez cette colonne à votre table de destination si nécessaire.

Étapes suivantes