Gérer le contrôle de code source des solutions Azure Data Factory
Par défaut, l’interface utilisateur d’Azure Data Factory publie directement pour le service de fabrique de données. Cette expérience présente les limites suivantes :
- Le service Data Factory n’inclut pas de référentiel pour stocker les entités JSON de vos modifications. La seule façon d’enregistrer les modifications consiste à utiliser le bouton Publier tout pour publier toutes les modifications directement vers le service de fabrique de données.
- Le service de fabrique de données n’est pas optimisé pour la collaboration ou le contrôle de version.
Pour améliorer l’expérience de création, Azure Data Factory permet de configurer un dépôt Git avec Azure Repos ou GitHub. Git est un système de contrôle de version qui facilite le suivi des modifications et la collaboration. Cet article explique comment configurer et utiliser un référentiel Git, met en évidence les meilleures pratiques et constitue un guide de résolution des problèmes.
Notes
La création directe avec le service Data Factory est désactivée dans l’expérience en matière d’interface utilisateur Azure Data Factory quand un dépôt Git est configuré. Les modifications apportées via PowerShell ou un kit de développement logiciel (SDK) sont publiées directement dans le service Data Factory et ne sont pas entrées dans Git.
Avantages de l’intégration Git
Voici quelques-uns des avantages que l’intégration Git apporte à l’expérience de création :
- Contrôle de code source : lorsque vos charges de travail de fabrique de données sont cruciales, vous pouvez intégrer votre fabrique avec Git pour tirer profit de plusieurs avantages de contrôle de code source tels que les suivants :
- Possibilité de suivre/auditer les modifications.
- Possibilité d’annuler les modifications qui ont introduit de bogues.
- Sauvegardes partielles : Lorsque vous créez pour le service de fabrique de données, vous ne pouvez pas enregistrer les modifications en tant que brouillon, et toutes les publications doivent passer par la validation de la fabrique de données. Si vos pipelines ne sont pas finis ou si vous ne souhaitez tout simplement pas perdre de modifications en cas de panne de votre ordinateur, l’intégration Git permet d’apporter des modifications incrémentielles aux ressources de la fabrique de données, quel qu’en soit l’état. La configuration d’un dépôt Git vous permet d’enregistrer les modifications, et donc de publier uniquement après que vous avez testé vos modifications et en êtes satisfait.
- Collaboration et contrôle : Si plusieurs membres de votre équipe contribuent à la même fabrique, vous pouvez leur permettre de collaborer via un processus de révision du code. Vous pouvez également configurer votre fabrique de manière à ce que tous les contributeurs n’aient pas des autorisations égales. Certains membres de l’équipe peuvent n’être autorisés qu’à apporter des modifications via Git, tandis que d’autres sont autorisés à publier les modifications dans la fabrique.
- CI/CD améliorés : si vous effectuez un déploiement sur plusieurs environnements au travers d’un processus de livraison continue, l’intégration à Git facilite certaines actions. Certaines de ces actions sont les suivantes :
- Configurez votre pipeline de mise en production afin qu’il se déclenche automatiquement dès que des modifications sont apportées à votre fabrique « dev ».
- Personnalisez les propriétés de votre fabrique disponibles en tant que paramètres dans le modèle Resource Manager. Cela permet de ne conserver que les propriétés requises en tant que paramètres, et de coder en dur tout le reste.
- Meilleures performances : Une fabrique moyenne avec l’intégration Git se charge 10 fois plus rapidement qu’une création pour le service de fabrique de données. Cette amélioration des performances est due au fait que les ressources sont téléchargées via Git.
Se connecter à un référentiel Git
Il existe trois façons de connecter un dépôt Git à votre fabrique de données pour Azure Repos et GitHub. Après vous être connecté à un référentiel Git, vous pouvez visualiser et gérer votre configuration dans le hub de gestion sous Configuration Git dans la section Contrôle de code source.
Méthode de configuration 1 : page d'accueil
Dans la page d’accueil Azure Data Factory, sélectionnez Set up Code Repository (Configurer le dépôt de code).
Méthode de configuration 2 : Zone de travail de création
Dans la zone de travail de création de l’expérience en matière d’interface utilisateur Azure Data Factory, sélectionnez le menu déroulant Data Factory, puis Set up Code Repository (Configurer le dépôt de code).
Méthode de configuration 3 : Hub de gestion
Accédez au hub de gestion dans l'interface utilisateur d'Azure Data Factory. Sélectionnez Configuration Git dans la section Contrôle de code source. Si vous n’avez pas de référentiel connecté, cliquez sur Set up code repository (Configurer le référentiel de code).
Gestion de versions
Les systèmes de contrôle de version (également appelé contrôle du code source) permettent aux développeurs de collaborer sur le code et de suivre les modifications apportées à la base de code. Le contrôle du code source est un outil essentiel pour les projets impliquant plusieurs développeurs.
Création de branches de fonctionnalités
Chaque dépôt Azure Repos Git associé à une fabrique de données comporte une branche de collaboration. (main
est la branche de collaboration par défaut). Les utilisateurs peuvent également créer des branches de fonctionnalités en cliquant sur + Nouvelle branche dans la liste déroulante des branches. Une fois le volet de la nouvelle branche affiché, entrez le nom de votre branche de fonctionnalités.
Lorsque vous êtes prêt à fusionner les modifications de votre branche de fonctionnalités dans votre branche de collaboration, cliquez sur la liste déroulante des branches et sélectionnez Créer la demande de tirage (pull request) . Cette action vous dirige vers Azure Repos Git où vous pouvez augmenter les demandes de tirage, procéder à des revues du code et fusionner les modifications dans votre branche de collaboration. Vous êtes uniquement autorisé à publier sur le service Data Factory à partir de votre branche de collaboration.
Configurer les paramètres de publication
Par défaut, la fabrique de données génère les modèles Resource Manager de la fabrique publiée et les enregistre dans une branche nommée adf_publish
. Pour configurer une branche de publication personnalisée, ajoutez un fichier publish_config.json
au dossier racine dans la branche de collaboration. Lors de la publication, Azure Data Factory lit ce fichier, recherche le champ publishBranch
, puis enregistre tous les modèles Resource Manager dans l’emplacement spécifié. Si la branche n’existe pas, la fabrique de données le crée automatiquement. Vous trouverez ci-dessous un exemple de ce à quoi ressemble ce fichier :
{
"publishBranch": "factory/adf_publish"
}
Azure Data Factory ne peut avoir qu’une seule branche de publication à la fois. Quand vous spécifiez une nouvelle branche de publication, Data Factory ne supprime pas la branche de publication précédente. Si vous souhaitez la supprimer, faites-le manuellement.
Notes
Data Factory lit uniquement le fichier publish_config.json
lors du chargement de la fabrique. Si la fabrique est déjà chargée sur le portail, actualisez le navigateur pour que vos modifications prennent effet.
Publier les modifications de code
Après avoir fusionné des modifications dans la branche de collaboration, cliquez sur Publier pour publier manuellement les modifications de votre code dans la branche de collaboration pour le service Data Factory.
Un volet latéral s’ouvre, dans lequel vous confirmez que la branche de publication et les modifications en attente sont correctes. Une fois que vous avez vérifié vos modifications, cliquez sur OK pour confirmer la publication.
Important
La branche de collaboration n’est pas représentative de ce qui est déployé dans le service Data Factory. La branche de collaboration doit être publiée manuellement sur le service Data Factory.
Meilleures pratiques d'intégration Git
Autorisations
En règle générale, vous ne souhaitez pas autoriser tous les membres de l’équipe à mettre à jour la fabrique de données. Les paramètres des autorisations suivants sont recommandés :
- Tous les membres de l’équipe doivent disposer d’autorisations de lecture dans la fabrique de données.
- Seul un ensemble sélectionné de personnes doit être autorisé à publier sur la fabrique de données. Pour ce faire, ces personnes doivent avoir le rôle Contributeur de Data Factory sur le groupe de ressources contenant la fabrique de données.
Il est recommandé de ne pas autoriser les archivages directs dans la branche de collaboration. Cette restriction peut aider à éviter les bogues, car chaque archivage passe par un processus de demande de tirage.
Utilisation de mots de passe à partir d’Azure Key Vault
Il est recommandé d’utiliser Azure Key Vault pour stocker les chaînes de connexion, les mots de passe ou l’authentification d’identité managée pour des services liés Data Factory. Pour des raisons de sécurité, la fabrique de données ne stocke pas les secrets dans Git. Toutes les modifications apportées aux services liés contenant des secrets tels que des mots de passe sont immédiatement publiées dans le service Azure Data Factory.
L’utilisation de Key Vault de l’authentification MSI facilite également l’intégration et le déploiement continus, car vous n’avez pas à fournir ces secrets lors du déploiement du modèle Resource Manager.
Passer à un autre dépôt Git
Pour basculer vers un autre référentiel Git, accédez à la page de configuration de Git dans le hub de gestion, sous Contrôle de code source. Sélectionnez Déconnecter.
Entrez le nom de votre fabrique de données, puis cliquez sur Confirmer pour supprimer le dépôt Git associé à votre fabrique de données.
Après avoir supprimé l’association avec le dépôt actuel, vous pouvez configurer vos paramètres Git pour utiliser un autre dépôt, puis importer des ressources Data Factory dans le nouveau dépôt.
Important
La suppression de la configuration Git d’une fabrique de données ne supprime rien dans le référentiel. La fabrique contient toujours toutes les ressources publiées. Vous pouvez continuer à la modifier directement par rapport au service.