Copier des données du stockage Blob Azure vers une base de données SQL de manière sécurisée en utilisant des points de terminaison privés

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, l’aide à la décision et la création de rapports. 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 de manière sécurisée les données du Stockage Blob Azure dans une base de données Azure SQL (les deux n’autorisant l’accès qu’aux réseaux sélectionnés) en utilisant des points de terminaison privés dans un réseau virtuel managé Azure Data Factory. 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 connaître la liste des magasins de données pris en charge comme sources et récepteurs, consultez le tableau Magasins de données et formats pris en charge.

Notes

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

Dans ce tutoriel, vous effectuez les étapes suivantes :

  • Créer une fabrique de données.
  • Créer un pipeline avec une activité de copie.

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. Vérifiez que le compte de stockage autorise l’accès provenant des réseaux sélectionnés uniquement.
  • Azure SQL Database. Vous utilisez la base de données comme magasin de données récepteur. Si vous ne disposez pas d’une base de données Azure SQL, consultez Créer une base de données SQL pour découvrir comment en créer une. Vérifiez que le compte SQL Database autorise l’accès provenant des réseaux sélectionnés uniquement.

Créer un objet blob et une table SQL

Préparez maintenant votre Stockage Blob et votre base de données SQL pour les besoins de ce tutoriel, en procédant comme suit.

Créer un objet blob source

  1. Ouvrez le Bloc-notes. Copiez le texte suivant et enregistrez-le comme fichier emp.txt sur votre disque :

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. Créez un conteneur nommé adftutorial dans votre Stockage Blob. Créez un dossier nommé input dans ce conteneur. Ensuite, chargez le fichier emp.txt dans le dossier input. Utilisez 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

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

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);

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. Actuellement, seuls les navigateurs web Microsoft Edge et Google Chrome prennent en charge l’interface utilisateur de Data Factory.

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

  3. Sur la page Nouvelle fabrique de données, entrez ADFTutorialDataFactory dans le champ Nom.

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

  4. Sélectionnez l’abonnement Azure dans lequel vous voulez créer la fabrique de données.

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

    • Sélectionnez Utiliser l’existant, puis sélectionnez un groupe de ressources existant dans la liste déroulante.
    • Sélectionnez Créer, puis entrez le nom d’un groupe de ressources.

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

  6. Sous Version, sélectionnez V2.

  7. Sous Emplacement, sélectionnez l’emplacement de la fabrique de données. Seuls les emplacements pris en charge apparaissent dans la liste déroulante. Les magasins de données (comme Stockage Azure et SQL Database) et les services de calcul (comme Azure HDInsight) utilisés par la fabrique de données peuvent se trouver dans d’autres régions.

  8. Sélectionnez Create (Créer).

  9. Une fois la création terminée, la notification apparaît dans le centre de notifications. Sélectionnez Accéder à la ressource pour accéder à la page Data Factory.

  10. Sélectionnez Ouvrir dans la vignette Ouvrir Azure Data Factory Studio pour lancer l’interface utilisateur de Data Factory dans un onglet distinct.

Création d’un runtime d’intégration Azure sur le réseau virtuel managé Data Factory

À cette étape, vous allez créer un runtime d’intégration Azure et activer le réseau virtuel managé Data Factory.

  1. Sur le portail Data Factory, accédez à Gérer et sélectionnez Créer pour créer un runtime d’intégration Azure.

    Capture d’écran montrant la création d’un runtime d’intégration Azure

  2. Dans la page Configuration du runtime d’intégration, choisissez le runtime d’intégration à créer en fonction des fonctionnalités nécessaires. Dans ce tutoriel, sélectionnez Azure, Auto-hébergé, puis cliquez sur Continuer.

  3. Sélectionnez Azure, puis cliquez sur Continuer pour créer un runtime d’intégration Azure.

    Capture d’écran montrant un nouveau runtime d’intégration Azure

  4. Sous Configuration de réseau virtuel (préversion) , sélectionnez Activer.

    Capture d’écran montrant l’activation d’un nouveau runtime d’intégration Azure

  5. Sélectionnez Create (Créer).

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. Dans le didacticiel de démarrage rapide, vous avez créé un pipeline en procédant comme suit :

  1. Créer le service lié.
  2. Créer des jeux de données d’entrée et de sortie.
  3. Créer un pipeline.

Dans ce tutoriel, vous allez commencer par créer un pipeline. Puis vous créez des jeux de données et des services liés lorsque vous en avez besoin pour configurer le pipeline.

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

    Capture d’écran montrant la page d’accueil de la fabrique de données avec le bouton Orchestrer en surbrillance.

  2. Dans le volet Propriétés du pipeline, entrez CopyPipeline comme nom du pipeline.

  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. Entrez CopyFromBlobToSql comme nom.

    Capture d’écran montrant l’activité de copie

Configuration d’une source

Conseil

Dans ce tutoriel, vous allez utiliser le type d’authentification Clé de compte pour votre magasin de données source. Vous pouvez également choisir d’autres méthodes d’authentification prises en charge, par exemple URI SAP, Principal de service et Identité managée si nécessaire. Pour plus d’informations, consultez les sections correspondantes dans Copie et transformation de données dans le Stockage Blob Azure avec Azure Data Factory.

Pour stocker des secrets des magasins de données de manière sécurisée, nous vous recommandons également d’utiliser Azure Key Vault. Pour plus d’informations et d’illustrations, consultez Stockage des informations d’identification dans Azure Key Vault.

Création d’un jeu de données source et d’un service lié

  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, sélectionnez le type de format de vos données, puis 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 comme Nom, puis sélectionnez votre compte de stockage dans la liste Nom du compte de stockage.

  6. Veillez à activer Création interactive. L’activation peut prendre environ une minute.

    Capture d’écran montrant Création interactive

  7. Sélectionnez Tester la connexion. Celle-ci doit échouer quand le compte de stockage autorise l’accès provenant des Réseaux sélectionnés uniquement et oblige Azure Data Factory à créer un point de terminaison privé vers le compte (le point de terminaison doit être approuvé avant utilisation du compte). Le message d’erreur comporte un lien permettant de créer un point de terminaison privé. Vous pouvez le suivre pour créer un point de terminaison privé managé. Pour créer un point de terminaison privé managé, vous pouvez également accéder directement à l’onglet Gérer et appliquer les instructions de la section suivante.

    Notes

    L’onglet Gérer n’est pas nécessairement disponible pour toutes les instances Data Factory. Si vous ne le voyez pas, vous pouvez accéder aux points de terminaison privés en sélectionnant Auteur>Connexions>Point de terminaison privé.

  8. Laissez la boîte de dialogue ouverte, puis accédez à votre compte de stockage.

  9. Suivez les instructions de cette section pour approuver la liaison privée.

  10. Revenez à la boîte de dialogue. Sélectionnez de nouveau Tester la connexion, puis sélectionnez Créer pour déployer le service lié.

  11. 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.

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

  13. Sélectionnez OK. La page du pipeline s’affiche automatiquement. Dans 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.

    Capture d’écran montrant le jeu de données source

Créer un point de terminaison privé managé

Si vous n’avez pas sélectionné le lien hypertexte lorsque vous avez testé la connexion, suivez le chemin. Vous devez maintenant créer un point de terminaison privé managé que vous connecterez au service lié créé.

  1. Accédez à l’onglet Gérer.

    Notes

    L’onglet Gérer n’est pas nécessairement disponible pour toutes les instances Data Factory. Si vous ne le voyez pas, vous pouvez accéder aux points de terminaison privés en sélectionnant Auteur>Connexions>Point de terminaison privé.

  2. Accédez à la section Points de terminaison privés managés.

  3. Sélectionnez + Nouveau sous Points de terminaison privés managés.

    Capture d’écran montrant Points de terminaison privés managés > bouton Nouveau

  4. Sélectionnez la vignette Stockage Blob Azure dans la liste, puis Continuer.

  5. Entrez le nom du compte de stockage que vous avez créé.

  6. Sélectionnez Create (Créer).

  7. Au bout de quelques secondes, la liaison privée créée indique qu’une approbation est nécessaire.

  8. Sélectionnez le point de terminaison privé que vous avez créé. Le lien hypertexte qui apparaît vous permet d’approuver le point de terminaison privé au niveau du compte de stockage.

    Capture d’écran montrant le volet Points de terminaison privés managés

  1. Dans la section Paramètres du compte de stockage, accédez à Connexions des points de terminaison privés.

  2. Cochez la case du point de terminaison privé que vous avez créé, puis sélectionnez Approuver.

    Capture d’écran montrant le bouton Approuver pour le point de terminaison privé

  3. Ajoutez une description, puis sélectionnez Oui.

  4. Revenez à la section Points de terminaison privés managés de l’onglet Gérer dans Data Factory.

  5. Au bout d’environ une ou deux minutes, l’approbation de votre point de terminaison privé apparaît dans l’interface utilisateur de Data Factory.

Configuration d’un récepteur

Conseil

Dans ce tutoriel, vous allez utiliser le type d’authentification Authentification SQL pour votre magasin de données récepteur. Vous pouvez également choisir d’autres méthodes d’authentification prises en charge, par exemple Principal de service et Identité managée si nécessaire. Pour plus d’informations, consultez les sections correspondantes dans Copie et transformation de données dans Azure SQL Database avec Azure Data Factory.

Pour stocker des secrets des magasins de données de manière sécurisée, nous vous recommandons également d’utiliser Azure Key Vault. Pour plus d’informations et d’illustrations, consultez Stockage des informations d’identification dans Azure Key Vault.

Création d’un jeu de données récepteur et d’un service lié

  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. Dans ce didacticiel, vous copiez des données vers une base de données SQL.

  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 + Créer. Un jeu de données doit être associé à un service lié. Le service lié comporte la chaîne de connexion utilisée par Data Factory pour établir la connexion à la base de données SQL lors de l’exécution. Le jeu de données spécifie le conteneur, le dossier et le fichier (facultatif) dans lequel les données sont copiées.

  4. Dans la boîte de dialogue Nouveau service lié (Azure SQL Database) , procédez comme suit :

    1. Sous Nom, entrez AzureSqlDatabaseLinkedService.
    2. Sous Nom du serveur, sélectionnez votre instance SQL Server.
    3. Veillez à activer Création interactive.
    4. Sous Nom de la base de données, sélectionnez votre base de données SQL.
    5. Sous Nom d’utilisateur, entrez le nom de l’utilisateur.
    6. Sous Mot de passe, entrez le mot de passe de l’utilisateur.
    7. Sélectionnez Tester la connexion. Celle-ci doit échouer, car le serveur SQL autorise l’accès provenant des Réseaux sélectionnés uniquement et oblige Azure Data Factory à créer un point de terminaison privé vers le compte (le point de terminaison doit être approuvé avant utilisation du compte). Le message d’erreur comporte un lien permettant de créer un point de terminaison privé. Vous pouvez le suivre pour créer un point de terminaison privé managé. Pour créer un point de terminaison privé managé, vous pouvez également accéder directement à l’onglet Gérer et appliquer les instructions de la section suivante.
    8. Laissez la boîte de dialogue ouverte, puis accédez au serveur SQL sélectionné.
    9. Suivez les instructions de cette section pour approuver la liaison privée.
    10. Revenez à la boîte de dialogue. Sélectionnez de nouveau Tester la connexion, puis sélectionnez Créer pour déployer le service lié.
  5. La boîte de dialogue Définir les propriétés s’affiche automatiquement. Sélectionnez [dbo].[emp] dans le champ Table. Sélectionnez ensuite OK.

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

    Capture d’écran montrant l’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.

Créer un point de terminaison privé managé

Si vous n’avez pas sélectionné le lien hypertexte lorsque vous avez testé la connexion, suivez le chemin. Vous devez maintenant créer un point de terminaison privé managé que vous connecterez au service lié créé.

  1. Accédez à l’onglet Gérer.

  2. Accédez à la section Points de terminaison privés managés.

  3. Sélectionnez + Nouveau sous Points de terminaison privés managés.

    Capture d’écran montrant Points de terminaison privés managés > bouton Nouveau

  4. Sélectionnez la vignette Azure SQL Database dans la liste, puis Continuer.

  5. Entrez le nom du serveur SQL que vous avez sélectionné.

  6. Sélectionnez Create (Créer).

  7. Au bout de quelques secondes, la liaison privée créée indique qu’une approbation est nécessaire.

  8. Sélectionnez le point de terminaison privé que vous avez créé. Le lien hypertexte qui apparaît vous permet d’approuver le point de terminaison privé au niveau du serveur SQL.

  1. Dans la section Paramètres du serveur SQL, accédez à Connexions des points de terminaison privés.
  2. Cochez la case du point de terminaison privé que vous avez créé, puis sélectionnez Approuver.
  3. Ajoutez une description, puis sélectionnez Oui.
  4. Revenez à la section Points de terminaison privés managés de l’onglet Gérer dans Data Factory.
  5. L’approbation de votre point de terminaison privé prend une ou deux minutes.

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 Tout publier dans la barre d’outils supérieure. Cette action a pour effet de publier les entités (jeux de données et pipelines) que vous avez créées dans Data Factory.
  3. Patientez jusqu’à voir le message Publication réussie. Pour voir les messages de notification, sélectionnez Afficher les notifications en haut à droite (bouton en forme de cloche).

Récapitulatif

Dans cet exemple, le pipeline copie des données d’un Stockage Blob dans SQL Database en utilisant des points de terminaison privés dans un réseau virtuel managé Data Factory. Vous avez appris à :

  • Créer une fabrique de données.
  • Créer un pipeline avec une activité de copie.