Contrôle de code source dans Synapse Studio
Par défaut, Synapse Studio crée le code directement pour le service Synapse. Si vous avez besoin de collaboration à l’aide de Git pour le contrôle de code source, Synapse Studio vous permet d’associer votre espace de travail à un référentiel Git, Azure DevOps ou GitHub.
Cet article explique comment configurer et travailler dans un espace de travail Synapse avec le référentiel git activé. Nous mettons également en évidence quelques bonnes pratiques et un guide de dépannage.
Notes
Pour utiliser GitHub dans Azure Gov et Microsoft Azure géré par 21Vianet, vous pouvez apporter votre propre application OAuth GitHub dans Synapse Studio pour l’intégration git. L’expérience de configuration est la même avec ADF. Vous pouvez consulter le blog d’annonce.
Prérequis
- Les utilisateurs doivent disposer au moins du rôle Azure Contributeur (contrôle d’accès en fonction du rôle Azure) sur l’espace de travail Synapse pour configurer, modifier des paramètres et déconnecter un dépôt Git avec Synapse.
Configurer le référentiel Git dans Synapse Studio
Après avoir lancé Synapse Studio, vous pouvez configurer un référentiel Git dans votre espace de travail. Un espace de travail Synapse Studio ne peut être associé qu’à un seul référentiel Git à la fois.
Méthode de configuration 1 : barre globale
Dans la barre globale Synapse Studio en haut des données, développez, intégrez et gérez des hubs, sélectionnez le menu déroulant Synapse Live, puis sélectionnez Configurer le dépôt de code.
Méthode de configuration 2 : Gérer le hub
Accédez au hub de gestion de Synapse Studio. Sélectionnez Configuration Git dans la section Contrôle de code source. Si aucun référentiel n’est connecté, sélectionnez Configurer.
Vous pouvez connecter le référentiel Git Azure DevOps ou GitHub dans votre espace de travail.
Se connecter au référentiel Git Azure DevOps
Vous pouvez associer un espace de travail Synapse à un référentiel Azure DevOps pour le contrôle de code source, la collaboration, la gestion des versions, etc. Si vous n’avez pas de référentiel Azure DevOps, suivez ces instructions pour créer vos ressources de référentiel.
Paramètres du référentiel Git Azure DevOps
Quand vous vous connectez à votre dépôt Git, commencez par sélectionner le type de dépôt Git Azure DevOps, puis sélectionnez un locataire Microsoft Entra dans la liste déroulante et sélectionnez Continuer.
Le volet de configuration affiche les paramètres Azure DevOps git suivants :
Paramètre | Description | Valeur |
---|---|---|
Type de référentiel | Type du dépôt de code Azure Repos. |
Azure DevOps Git ou GitHub |
Connexion inter-locataire | Case à cocher pour se connecter avec un compte inter-locataire. | non sélectionné (par défaut) |
Microsoft Entra ID | Votre nom de locataire Microsoft Entra. | <your tenant name> |
Compte Azure DevOps | Nom de votre organisation Azure Repos. Vous trouverez le nom de votre organisation Azure Repos sur https://{organization name}.visualstudio.com . Vous pouvez vous connecter à votre organisation Azure Repos pour accéder à votre profil Visual Studio et visualiser vos dépôts et projets. |
<your organization name> |
Nom du projet | Nom de votre projet Azure Repos. Vous trouverez le nom de votre projet Azure Repos sur https://{organization name}.visualstudio.com/{project name} . |
<your Azure Repos project name> |
RepositoryName | Nom de votre dépôt de code Azure Repos. Les projets Azure Repos contiennent des dépôts Git pour gérer votre code source à mesure que votre projet se développe. Vous pouvez créer un nouveau référentiel ou utiliser un référentiel existant déjà présent dans le projet. | <your Azure Repos code repository name> |
Branche de collaboration | Votre branche de collaboration Azure Repos utilisée pour la publication. Par défaut, il s’agit de master . Modifiez ce paramètre au cas où vous souhaitez publier des ressources à partir d’une autre branche. Vous pouvez sélectionner des branches existantes ou en créer de nouvelles. |
<your collaboration branch name> |
Dossier racine | Votre dossier racine de votre branche de collaboration Azure Repos. | <your root folder name> |
Import existing resources to repository (Importer des ressources existantes dans le référentiel) | Indique s’il convient d’importer des ressources existantes à partir de Synapse Studio dans un référentiel Azure Repos Git. Cochez la case pour importer vos ressources d’espace de travail (à l’exception des pools) dans le référentiel Git associé au format JSON. Cette action exporte chaque ressource individuellement. Lorsque cette case n’est pas cochée, les ressources existantes ne sont pas importées. | Cochée (par défaut) |
Importer la ressource dans cette branche | Sélectionnez la branche dans laquelle les ressources (script SQL, notebook, définition de travail Spark, jeu de données, flux de données, etc.) sont importées. |
Vous pouvez également utiliser le lien du dépôt pour pointer rapidement vers le dépôt git auquel vous souhaitez vous connecter.
Remarque
Azure Synapse ne prend pas en charge la connexion à un référentiel Azure DevOps local.
Utiliser un autre locataire Microsoft Entra
Le dépôt Git Azure Repos peut se trouver dans un autre locataire Microsoft Entra. Pour spécifier un autre locataire Microsoft Entra, vous devez avoir des autorisations d’administrateur sur l’abonnement Azure que vous utilisez. Pour plus d’informations, consultez Modifier l’administrateur de l’abonnement.
Important
Pour se connecter à une autre instance Microsoft Entra ID, l’utilisateur connecté doit être membre de cet annuaire Active Directory.
Ajouter votre compte Microsoft personnel
Pour utiliser un compte Microsoft personnel à des fins d'intégration de Git, vous pouvez lier votre référentiel Azure personnel au répertoire Active Directory de votre organisation.
Ajoutez votre compte Microsoft personnel au répertoire Active Directory de votre organisation en tant qu’invité. Pour plus d’informations, consultez Ajouter des utilisateurs Microsoft Entra B2B Collaboration dans le portail Azure.
Connectez-vous au Portail Azure avec votre compte Microsoft personnel. Basculez ensuite vers le répertoire Active Directory de votre organisation.
Accédez à la section Azure DevOps qui affiche désormais votre référentiel personnel. Sélectionnez le référentiel et connectez-vous à Active Directory.
Au terme de cette procédure de configuration, votre référentiel personnel est disponible lorsque vous configurez l’intégration de Git dans Synapse Studio.
Pour plus d’informations sur la connexion d’Azure Repos à l’annuaire Active Directory de votre organisation, consultez Connecter votre organisation à Microsoft Entra ID.
Utiliser une organisation Azure DevOps interlocataire
Lorsque votre Azure DevOps n'est pas dans le même locataire que l'espace de travail Synapse, vous pouvez configurer l'espace de travail avec une organisation Azure DevOps interlocataire.
Sélectionnez l’option Connexion inter-locataire, puis sélectionnez Continuer
Sélectionnez OK dans la boîte de dialogue.
Sélectionnez Utiliser un autre compte, puis connectez-vous avec votre compte Azure DevOps.
Une fois connecté, choisissez le répertoire et référentiel, puis configurez-le en conséquence.
Notes
Pour vous connecter à l’espace de travail, vous devez utiliser la première connexion pour vous connecter au compte d’utilisateur de votre espace de travail Synapse. Votre compte Azure DevOps inter-locataire est utilisé uniquement pour la connexion et l’accès au référentiel Azure DevOps associé à cet espace de travail Synapse.
Se connecter avec GitHub
Vous pouvez associer un espace de travail à un référentiel GitHub pour le contrôle du code source, la collaboration et la gestion des versions. Si vous n’avez pas un compte ou un référentiel GitHub, suivez ces instructions pour créer vos ressources.
L’intégration de GitHub à Synapse Studio prend à la fois en charge le service GitHub public (https://github.com) que GitHub Enterprise. Vous pouvez utiliser des référentiels GitHub publics et privés à condition de disposer des autorisations de lecture et d'écriture pour ceux-ci dans GitHub.
Paramètres GitHub
Quand vous vous connectez à votre référentiel Git, commencez par sélectionner votre type de référentiel comme GitHub, puis indiquez votre compte d’GitHub, votre URL GitHub Enterprise Server si vous utilisez GitHub Enterprise Server, ou le nom de votre organisation GitHub Enterprise si vous utilisez GitHub Enterprise Cloud. Sélectionnez Continuer.
Notes
Si vous utilisez GitHub Enterprise Cloud, laissez la case Utiliser GitHub Enterprise Server désélectionnée.
Le volet de configuration affiche les paramètres du dépôt GitHub suivants :
Paramètre | Description | Valeur |
---|---|---|
Type de référentiel | Type du dépôt de code Azure Repos. | GitHub |
Utiliser GitHub Enterprise | Cochez la case pour sélectionner GitHub Enterprise | non sélectionné (par défaut) |
URL GitHub Enterprise | URL racine de GitHub Enterprise (doit être HTTPS pour un serveur local GitHub Enterprise). Par exemple : https://github.mydomain.com . Obligatoire uniquement si l’option Utiliser GitHub Enterprise est sélectionnée |
<your GitHub enterprise url> |
Compte GitHub | Le nom de votre compte GitHub. Vous pouvez trouver ce nom dans https://github.com/{account nom}/{nom du référentiel}. En naviguant sur cette page, vous êtes invité à entrer les informations d’identification GitHub OAuth sur votre compte GitHub. | <your GitHub account name> |
Nom du dépôt | Le nom de votre référentiel de code GitHub. Les comptes GitHub contiennent des référentiels Git pour gérer votre code source. Vous pouvez créer un nouveau référentiel ou utiliser un référentiel existant déjà présent dans le compte. | <your repository name> |
Branche de collaboration | Votre branche de collaboration GitHub utilisée pour la publication. Par défaut, il s’agit de la branche principale. Modifiez ce paramètre au cas où vous souhaitez publier des ressources à partir d’une autre branche. | <your collaboration branch> |
Dossier racine | Votre dossier racine de votre branche de collaboration GitHub. | <your root folder name> |
Import existing resources to repository (Importer des ressources existantes dans le référentiel) | Indique s’il convient d’importer des ressources existantes à partir de Synapse Studio dans un référentiel Git. Cochez la case pour importer vos ressources d’espace de travail (à l’exception des pools) dans le référentiel Git associé au format JSON. Cette action exporte chaque ressource individuellement. Lorsque cette case n’est pas cochée, les ressources existantes ne sont pas importées. | Activée (par défaut) |
Importer la ressource dans cette branche | Sélectionnez la branche dans laquelle les ressources (script SQL, notebook, définition de travail Spark, jeu de données, flux de données, etc.) sont importées. |
Organisations GitHub
La connexion à une organisation GitHub nécessite que l’organisation accorde l’autorisation à Synapse Studio. Un utilisateur disposant d’autorisations d’administrateur sur l’organisation doit effectuer les étapes ci-dessous.
Première connexion à GitHub
Si vous vous connectez à GitHub à partir de Synapse Studio pour la première fois, procédez comme suit pour vous connecter à une organisation GitHub.
Dans le volet Configuration git, entrez le nom de l’organisation dans le champ Compte GitHub. Une invite de connexion à GitHub s’affiche.
Connectez-vous à l’aide des informations d’identification de l’utilisateur.
Il vous est demandé d’autoriser Synapse en tant qu’application appelée Azure Synapse. Sur cet écran, vous voyez une option pour accorder à Synapse l'autorisation d'accéder à l'organisation. Si vous ne voyez pas l’option permettant d’accorder une autorisation, demandez à un administrateur d’accorder manuellement l’autorisation par le biais de GitHub.
Une fois que vous avez suivi ces étapes, votre espace de travail peut se connecter aux référentiels publics et privés au sein de votre organisation. Si vous ne parvenez pas à vous connecter, essayez de vider le cache du navigateur et réessayez.
Déjà connecté à GitHub à l’aide d’un compte personnel
Si vous êtes déjà connecté à GitHub et que vous avez accordé uniquement l’autorisation d’accéder à un compte personnel, suivez les étapes ci-dessous pour accorder des autorisations à une organisation.
Accédez à GitHub et ouvrez Paramètres.
Sélectionnez Applications. Dans l’onglet Applications OAuth autorisées, Azure Synapse apparaît.
Sélectionnez Azure Synapse et accordez l’accès à votre organisation.
Une fois ces étapes terminées, votre espace de travail peut se connecter aux référentiels publics et privés au sein de votre organisation.
Gestion de versions
Les systèmes de contrôle de version (également appelés contrôle de code source) permettent aux développeurs de collaborer sur le code et de suivre les modifications. 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 référentiel Git associé à Synapse Studio comporte une branche de collaboration. (main
ou master
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 que le volet Nouvelle branche s’affiche, entrez le nom de votre branche de fonctionnalité, puis sélectionnez une branche à partir de laquelle vous souhaitez baser le travail.
Lorsque vous êtes prêt à fusionner les modifications de votre branche de fonctionnalité vers votre branche de collaboration, cliquez sur le menu déroulant de la branche et sélectionnez Créer une demande de tirage (pull request). Cette action vous dirigera vers un fournisseur Git où vous pouvez augmenter les demandes de tirage, procéder à des révisions du code et fusionner les modifications dans votre branche de collaboration. Vous n'êtes autorisé à publier sur le service Synapse qu'à partir de votre branche de collaboration.
Configurer les paramètres de publication
Par défaut, Synapse Studio génère les modèles d’espace de travail et les enregistre dans une branche appelée workspace_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, Synapse Studio lit ce fichier, recherche le champ publishBranch
et enregistre les fichiers de modèle d'espace de travail à l'emplacement spécifié. Si la branche n'existe pas, Synapse Studio la créera automatiquement. Vous trouverez ci-dessous un exemple de ce à quoi ressemble ce fichier :
{
"publishBranch": "workspace_publish"
}
Synapse Studio peut avoir une seule branche de publication à la fois. Lorsque vous spécifiez une nouvelle branche de publication, la branche de publication d'origine n'est pas supprimée. Si vous souhaitez la supprimer, faites-le manuellement.
Publier les modifications de code
Après avoir fusionné des modifications dans la branche de collaboration, sélectionnez Publier pour publier manuellement les modifications de votre code dans la branche de collaboration sur le service Synapse.
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, sélectionnez OK pour confirmer la publication.
Important
La branche de collaboration n’est pas représentative de ce qui est déployé dans le service. Les modifications apportées à la branche de collaboration doivent être publiées manuellement.
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 espace de travail, puis sélectionnez Déconnecter pour supprimer le dépôt Git associé à votre espace de travail.
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 existantes dans le nouveau dépôt.
Important
La suppression de la configuration Git d’un espace de travail ne supprime rien dans le référentiel. L'espace de travail Synapse contient toutes les ressources publiées. Vous pouvez continuer à le modifier directement par rapport au service.
Meilleures pratiques d'intégration Git
- Autorisations. Une fois que vous avez un dépôt git connecté à votre espace de travail, toute personne pouvant accéder à votre dépôt git avec n’importe quel rôle dans votre espace de travail peut mettre à jour les artefacts, comme le script sql, le bloc-notes, la définition de tâche Spark, l’ensemble de données, le flux de données et le pipeline en mode git. En règle générale, vous ne souhaitez pas autoriser tous les membres de l’équipe à mettre à jour l’espace de travail. Accordez uniquement l’autorisation d’accès au référentiel git aux auteurs d’artefacts de l’espace de travail Synapse.
- Collaboration. Il est recommandé de ne pas autoriser les archivages directs dans la branche de collaboration. Cette restriction peut aider à prévenir les bogues, car chaque enregistrement passe par un processus d'examen de demande d'extraction décrit dans Création de branches de fonctionnalités.
- Mode réel Synapse. Après la publication en mode git, toutes les modifications sont reflétées en mode synapse en direct. En mode réel Synapse, la publication est désactivée. Vous pouvez afficher et exécuter des artefacts en mode réel si vous avez reçu l’autorisation appropriée.
- Modifier les artefacts dans Studio. Synapse Studio est le seul endroit où vous pouvez activer le contrôle de code source de l’espace de travail et synchroniser automatiquement les modifications dans Git. Les modifications effectuées à l’aide du SDK ou de PowerShell ne sont pas synchronisées avec git. Nous vous recommandons de toujours modifier l’artefact dans Studio lorsque git est activé.
Résolution des problèmes d’intégration Git
Accès au mode git
Si vous avez reçu l’autorisation d’accès au dépôt git GitHub lié à votre espace de travail, mais que vous ne pouvez pas accéder au mode Git :
Effacez le cache de votre navigateur et actualisez la page.
Connectez-vous à votre compte GitHub.
Branche de publication obsolète
Si la branche de publication n’est pas synchronisée avec la branche de collaboration et contient des ressources obsolètes malgré une publication récente, essayez d’effectuer les étapes suivantes :
Supprimez votre dépôt Git actuel
Reconfigurez Git avec les mêmes paramètres, mais vérifiez que l’option Import existing resources to repository (Importer des ressources existantes dans le référentiel) est sélectionnée, puis choisissez la même branche.
Créez une demande de tirage pour fusionner les modifications apportées à la branche de collaboration
Fonctionnalités non prises en charge
- Synapse Studio n’autorise pas le cherry-picking des validations ni la publication sélective des ressources.
- Synapse Studio ne prend pas en charge les messages de validation personnalisés.
- De par sa conception, l'action de suppression dans Studio s'engage à git directement