Partager via


Tutoriel : Copier des données du stockage Blob Azure vers une base de données dans Azure SQL Database à l’aide d’Azure Data Factory

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, la business intelligence et le reporting. Découvrez comment démarrer un nouvel essai gratuitement !

Dans ce didacticiel, vous créez une fabrique de données à l’aide de l’interface utilisateur (IU) d’Azure Data Factory. Le pipeline de cette fabrique de données copie les données du stockage Blob Azure vers une base de données dans Azure SQL Database. Le modèle de configuration de ce didacticiel s’applique à la copie depuis un magasin de données de fichiers vers un magasin de données relationnelles. Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs, consultez le tableau Magasins de données pris en charge.

Remarque

Si vous débutez avec Data Factory, consultez Présentation d’Azure Data Factory.

Dans ce tutoriel, vous effectuerez les étapes suivantes :

Prérequis

  • Abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte Azure gratuit avant de commencer.
  • Compte Azure Storage. Vous utilisez le stockage Blob comme magasin de données source. Si vous ne possédez pas de compte de stockage, consultez l’article Créer un compte de stockage Azure pour découvrir comment en créer un.
  • Azure SQL Database. Vous utilisez la base de données comme magasin de données récepteur. Si vous n’avez pas de base de données dans Azure SQL Database, consultez Créer une base de données dans Azure SQL Database pour savoir comme en créer une.

Créer un objet blob et une table SQL

À présent, préparez votre stockage Blob et votre base de données SQL pour ce didacticiel, en procédant comme suit.

Créer un objet blob source

  1. Lancez le Bloc-notes. Copiez le texte suivant et enregistrez-le sous forme de fichier emp.txt :

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. Déplacez ce fichier dans un dossier appelé entrée.

  3. Créez un conteneur nommé adftutorial dans votre stockage Blob. Chargez votre dossier d’entrée avec le fichier emp.txt dans ce conteneur. Vous pouvez utiliser le portail Azure ou des outils tels que l’Explorateur Stockage Azure pour effectuer ces tâches.

Créer une table SQL de récepteur

  1. Utilisez le script SQL suivant pour créer la table dbo.emp dans votre base de données :

    CREATE TABLE dbo.emp
    (
        ID int IDENTITY(1,1) NOT NULL,
        FirstName varchar(50),
        LastName varchar(50)
    )
    GO
    
    CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
    
  2. Autorisez les services Azure à accéder au serveur SQL. Vérifiez que le paramètre Autoriser l’accès aux services Azure est ACTIVÉ pour votre serveur SQL afin que Data Factory puisse écrire des données sur votre serveur SQL. Pour vérifier et activer ce paramètre, accédez à votre serveur SQL Server dans le portail Azure, sélectionnez Sécurité>Mise en réseau> activer Réseaux sélectionnés> vérifier Autoriser les services Azure et les ressources pour accéder à ce serveur sous les Exceptions.

Créer une fabrique de données

À cette étape, vous allez créer une fabrique de données et démarrer l’interface utilisateur de Data Factory afin de créer un pipeline dans la fabrique de données.

  1. Ouvrez Microsoft Edge ou Google Chrome. L’interface utilisateur de Data Factory n’est actuellement prise en charge que par les navigateurs web Microsoft Edge et Google Chrome.

  2. Dans le menu de gauche, sélectionnez Créer une ressource>Analytics>Data Factory.

  3. Dans la page Créer une fabrique de données, sous l’onglet De base, sélectionnez l’Abonnement Azure dans lequel vous voulez créer la fabrique de données.

  4. Pour Groupe de ressources, réalisez l’une des opérations suivantes :

    a) Sélectionnez un groupe de ressources existant dans la liste déroulante.

    b. Sélectionnez Créer, puis entrez le nom d’un nouveau groupe de ressources.

    Pour plus d’informations sur les groupes de ressources, consultez Utilisation des groupes de ressources pour gérer vos ressources Azure.

  5. Sous Région, sélectionnez l’emplacement de la fabrique de données. Vos magasins de données peuvent se trouver dans une région différente de celle de votre usine de données, si nécessaire.

  6. Sous Nom, le nom de la fabrique de données Azure doit être globalement unique. Si vous recevez un message d’erreur concernant la valeur du nom, saisissez un autre nom pour la fabrique de données. (par exemple, yournameADFDemo). Consultez l’article Azure Data Factory - Règles d’affectation des noms pour savoir comment nommer les règles Data Factory.

    Nouveau message d’erreur de la fabrique de données pour le nom dupliqué.

  7. Sous Version, sélectionnez V2.

  8. Sélectionnez l’onglet Configuration Git dans la partie supérieure, puis cochez la case Configurer Git plus tard.

  9. Sélectionnez Vérifier + créer, puis Créer une fois la validation réussie.

  10. Une fois la création terminée, vous voyez apparaître l’avis dans le centre de notifications. Sélectionnez Accéder à la ressource pour accéder à la page de la fabrique de données.

  11. Sélectionnez Launch Studio sur la vignette Azure Data Factory Studio .

Créer un pipeline

À cette étape, vous créez un pipeline avec une activité de copie dans la fabrique de données. L’activité de copie permet de copier les données d’un stockage Blob vers une base de données SQL.

  1. Dans la page d’accueil, sélectionnez Orchestrer.

    Capture d’écran montrant la page d’accueil ADF.

  2. Dans le panneau Général, sous Propriétés, spécifiez CopyPipeline comme Nom. Réduisez ensuite le panneau en cliquant sur l’icône Propriétés en haut à droite.

  3. Dans la boîte à outils Activités, développez la catégorie Déplacer et transformer, puis faites glisser l’activité Copier les données de la boîte à outils vers l’aire du concepteur de pipeline. Spécifiez CopyFromBlobToSql pour le Nom.

    Activité de copie

Configurer la source

Conseil

Dans ce tutoriel, vous utilisez la clé de compte comme type d’authentification pour votre magasin de données source, mais vous pouvez choisir d’autres méthodes d’authentification prises en charge : URI SAS, Principal de service et Identité managée si nécessaire. Pour plus d’informations, reportez-vous aux sections correspondantes de cet article. Pour stocker de manière sécurisée des secrets de magasins de données, il est également recommandé d’utiliser un coffre de clés Azure. Pour obtenir des illustrations détaillées, reportez-vous à cet article.

  1. Accédez à l’onglet Source. Sélectionnez + Nouveau pour créer un jeu de données source.

  2. Dans la boîte de dialogue Nouveau jeu de données, sélectionnez Stockage Blob Azure, puis Continuer. Sachant que les données sources se trouvent dans un stockage Blob, vous devez sélectionner le Stockage Blob Azure pour le jeu de données source.

  3. Dans la boîte de dialogue Sélectionner le format , choisissez Texte délimité, puis sélectionnez Continuer.

  4. Dans la boîte de dialogue Définir les propriétés, entrez SourceBlobDataset comme nom. Cochez la case Première ligne comme en-tête. Sous la zone de texte Service lié, sélectionnez + Nouveau.

  5. Dans la boîte de dialogue Nouveau service lié (Stockage Blob Azure), entrez AzureStorageLinkedService pour le nom, puis sélectionnez votre compte de stockage dans la liste Nom du compte de stockage. Testez la connexion, puis sélectionnez Créer pour déployer le service lié.

  6. Après la création du service lié, la page Définir les propriétés s’affiche de nouveau. En regard de Chemin d’accès du fichier, sélectionnez Parcourir.

  7. Accédez au dossier adftutorial/input, sélectionnez le fichier emp.txt, puis sélectionnez OK.

  8. Sélectionnez OK. La page du pipeline s’affiche automatiquement. Sous l’onglet Source, vérifiez que SourceBlobDataset est sélectionné. Pour afficher un aperçu des données dans cette page, sélectionnez Aperçu des données.

    Jeu de données source

Configurer le récepteur

Conseil

Dans ce tutoriel, vous utilisez l’authentification SQL comme type d’authentification pour votre magasin de données récepteur. Vous pouvez toutefois choisir d’autres méthodes d’authentification prises en charge : un principal de service et une identité managée, le cas échéant. Pour plus d’informations, reportez-vous aux sections correspondantes de cet article. Pour stocker de manière sécurisée des secrets de magasins de données, il est également recommandé d’utiliser un coffre de clés Azure. Pour obtenir des illustrations détaillées, reportez-vous à cet article.

  1. Accédez à l’onglet Récepteur, puis sélectionnez + Nouveau pour créer un jeu de données récepteur.

  2. Dans la boîte de dialogue Nouveau jeu de données, entrez « SQL » dans la zone de recherche pour filtrer les connecteurs, sélectionnez Azure SQL Database, puis Continuer.

  3. Dans la boîte de dialogue Définir les propriétés, entrez OutputSqlDataset comme nom. Dans la liste déroulante Service lié, sélectionnez + Nouveau. Un jeu de données doit être associé à un service lié. Le service lié a la chaîne de connexion utilisée par Data Factory pour se connecter à SQL Database au moment de l’exécution et spécifie où les données seront copiées.

  4. Dans la boîte de dialogue Nouveau service lié (Azure SQL Database), effectuez les étapes suivantes :

    a) Sous Nom, entrez AzureSqlDatabaseLinkedService.

    b. Sous Nom du serveur, sélectionnez votre instance SQL Server.

    c. Sous Nom de la base de données, sélectionnez votre base de données.

    d. Sous Nom d’utilisateur, entrez le nom de l’utilisateur.

    e. Sous Mot de passe, entrez le mot de passe de l’utilisateur.

    f. Sélectionnez Tester la connexion pour tester la connexion.

    g. Sélectionnez Créer pour déployer le service lié.

    Enregistrer le nouveau service lié

  5. La boîte de dialogue Définir les propriétés s’affiche automatiquement. Dans le tableau, sélectionnez Entrée manuellement, puis entrez [dbo].[ emp]. Sélectionnez ensuite OK.

  6. Accédez à l’onglet avec le pipeline, puis dans Jeu de données récepteur, vérifiez que l’option OutputSqlDataset est sélectionnée.

    Onglet Pipeline

Si vous le souhaitez, vous pouvez mapper le schéma de la source au schéma correspondant de la destination en suivant les instructions mentionnées dans Mappage de schéma dans l’activité de copie.

Valider le pipeline

Sélectionnez Valider dans la barre d’outils pour valider les paramètres du pipeline.

Vous pouvez voir le code JSON associé au pipeline en cliquant sur Code dans le coin supérieur droit.

Déboguer et publier le pipeline

Vous pouvez déboguer un pipeline avant de publier des artefacts (services liés, jeux de données et pipeline) dans Data Factory ou votre propre référentiel Azure Repos Git.

  1. Pour déboguer le pipeline, sélectionnez Déboguer dans la barre d’outils. L’état d’exécution du pipeline apparaît dans l’onglet Sortie au bas de la fenêtre.

  2. Une fois que le pipeline peut s’exécuter correctement, sélectionnez Publier tout dans la barre d’outils supérieure. Cette action publie les entités (jeux de données et pipelines) que vous avez créées dans Data Factory.

  3. Attendez que vous voyiez le message de notification publié avec succès . Pour afficher les messages de notification, sélectionnez l’option Afficher les notifications en haut à droite (bouton cloche).

Déclencher le pipeline manuellement

Dans cette étape, vous déclenchez manuellement le pipeline que vous avez publié dans l’étape précédente.

  1. Sélectionnez Ajouter un déclencheur dans la barre d’outils, puis sélectionnez Déclencher maintenant.

  2. Dans la page Exécution du pipeline, sélectionnez OK.

  3. Accédez à l’onglet Surveiller sur la gauche. Vous voyez un pipeline qui est déclenché par un déclencheur manuel. Vous pouvez utiliser les liens sous la colonne NOM DU PIPELINE pour voir les détails de l’activité et réexécuter le pipeline.

    Surveiller des exécutions de pipelines

  4. Pour voir les exécutions d’activités associées à l’exécution du pipeline, sélectionnez le lien CopyPipeline sous la colonne NOM DU PIPELINE. Dans cet exemple, il n’y a qu’une seule activité, vous ne voyez donc qu’une seule entrée dans la liste. Pour plus d’informations sur l’opération de copie, pointez sur l’activité et

  5. sélectionnez le lien Détails (icône lunettes) sous la colonne NOM DE L’ACTIVITÉ . Sélectionnez Toutes les exécutions de pipelines en haut pour revenir à la vue Exécutions de pipelines. Sélectionnez Actualiser pour actualiser l’affichage.

    Surveiller des exécutions d’activités

  6. Vérifiez que deux lignes supplémentaires sont ajoutées à la table emp dans la base de données.

Déclencher le pipeline selon une planification

Dans cette planification, vous créez un déclencheur de planificateur pour le pipeline. Le déclencheur exécute le pipeline selon la planification spécifiée, par exemple toutes les heures ou tous les jours. Ici, vous définissez le déclencheur pour s’exécuter toutes les minutes jusqu’à la date/heure de fin spécifiée.

  1. Accédez à l’onglet Auteur sur la gauche au-dessus de l’onglet Surveiller.

  2. Accédez à votre pipeline, sélectionnez Déclencheur dans la barre d’outils, puis Sélectionnez Nouveau/Modifier.

  3. Dans la boîte de dialogue Ajouter des déclencheurs , sélectionnez Choisir un déclencheur et sélectionnez + Nouveau.

  4. Dans la fenêtre Nouveau déclencheur, procédez comme suit :

    a) Sous Nom, entrez RunEveryMinute.

    b. Mettez à jour la date de début de votre déclencheur. Si la date est antérieure aux date et heure actuelles, le déclencheur prend effet dès la publication de la modification.

    c. Sous Fuseau horaire, sélectionnez la liste déroulante.

    d. Définissez la périodicité sur Toutes les minutes.

    e. Cochez la case Spécifier une date de fin et mettez à jour la partie Fin le pour qu’elle se situe quelques minutes après les date et heure actuelles. Le déclencheur n’est activé qu’après avoir publié les modifications. Si vous le définissez à quelques minutes d’intervalle mais ne publiez pas, vous ne voyez pas d’exécution du déclencheur.

    f. Pour l’option Activé, sélectionnez Oui.

    g. Sélectionnez OK.

    Important

    Chaque exécution de pipeline coûte de l’argent. Il est donc important de définir correctement la date de fin.

  5. Dans la page Modifier le déclencheur, lisez l’avertissement, puis sélectionnez Enregistrer. Le pipeline de cet exemple n’accepte pas de paramètres.

  6. Sélectionnez Publier tout pour publier la modification.

  7. Accédez à l’onglet Surveiller sur la gauche pour voir les exécutions du pipeline déclenchées.

    Exécutions du pipeline déclenchées

  8. Pour passer de la vue Exécutions de pipeline à la vue Exécutions de déclencheur, sélectionnez Exécutions de déclencheur sur le côté gauche de la fenêtre.

  9. Vous voyez les exécutions du déclencheur dans une liste.

  10. Vérifiez que deux lignes par minute (pour chaque exécution du pipeline) sont insérées dans la table emp jusqu’à l’heure de fin spécifiée.

Désactiver le déclencheur

Pour désactiver votre déclencheur de chaque minute que vous avez créé, procédez comme suit :

  1. Sélectionnez le volet Gérer sur le côté gauche.

  2. Sous Auteur , sélectionnez Déclencheurs.

  3. Pointez sur le déclencheur RunEveryMinute que vous avez créé.

    1. Sélectionnez le bouton Arrêter pour désactiver le déclencheur en cours d’exécution.
    2. Sélectionnez le bouton Supprimer pour désactiver et supprimer le déclencheur.
  4. Sélectionnez Tout publier pour enregistrer vos modifications.

Dans cet exemple, le pipeline copie les données d’un emplacement vers un autre dans un stockage Blob. Vous avez appris à :

  • Créer une fabrique de données.
  • Créer un pipeline avec une activité de copie.
  • Effectuer une série de tests sur le pipeline.
  • Déclencher le pipeline manuellement.
  • Déclencher le pipeline en fonction d’une planification.
  • Surveiller les exécutions de pipeline et d’activité.
  • Désactivez ou supprimez votre déclencheur planifié.

Passez au didacticiel suivant pour en savoir plus sur la copie des données locales vers le cloud :

Pour plus d’informations sur la copie de données vers ou à partir du Stockage Blob Azure et d’Azure SQL Database, consultez les guides de connecteur suivants :