Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 !
Important
Le 1er janvier 2026, vous ne pourrez plus créer de nouvelles instances Airflow à l’aide du Gestionnaire d’orchestration de flux de travail d’ADF. Nous vous recommandons de migrer toutes les charges de travail Apache Airflow (Apache Airflow dans Azure Data Factory) vers des travaux Apache Airflow dans Microsoft Fabric avant le 31 décembre 2025.
Pour plus d’informations ou pour obtenir du support pendant votre migration vers Apache Airflow dans Microsoft Fabric, contactez le support Microsoft.
Prérequis
- Abonnement Azure : si vous n'avez pas d'abonnement Azure, créez un compte Azure gratuit avant de commencer. Créez ou sélectionnez une instance Data Factory existante dans une région où la version préliminaire du gestionnaire du flux de travail est prise en charge.
- Dépôt GitHub : vous devez accéder à un dépôt GitHub.
Utiliser l'interface utilisateur du gestionnaire du flux de travail
Pour synchroniser votre dépôt GitHub à l'aide de l'interface utilisateur du gestionnaire du flux de travail :
Vérifiez que votre dépôt contient les dossiers et fichiers nécessaires :
dags/ : pour les graphes orientés acycliques (DAG) Apache Airflow (obligatoire).
Plugins/ : Pour intégrer des fonctionnalités externes à Airflow.
Lorsque vous créez un runtime d'intégration du gestionnaire du flux de travail, sélectionnez Activer la synchronisation Git dans la boîte de dialogue Configuration de l'environnement Airflow.
Sélectionnez l'un des types de service Git pris en charge suivants :
- GitHub
- ADO
- GitLab
- Bitbucket
Sélectionnez un type d'identification :
Aucun (pour un dépôt public) : lorsque vous sélectionnez cette option, veillez à ce que la visibilité de votre dépôt soit publique. Renseignez ensuite les détails :
- URL du dépôt Git (obligatoire) : URL de clonage pour le dépôt GitHub que vous souhaitez.
- Branche Git (obligatoire) : branche actuelle, où se trouve le dépôt Git que vous souhaitez.
Jeton d'accès personnel Git : une fois que vous avez sélectionné cette option pour un jeton d'accès personnel (PAT), renseignez les champs restants en fonction du type de service Git sélectionné :
- Jeton d’accès personnel GitHub
- Jeton d'accès personnel ADO
- Jeton d'accès personnel GitLab
- Jeton d'accès personnel Bitbucket
SPN (Nom de principal du service) : seul ADO prend en charge ce type d'informations d'identification. Une fois que vous avez sélectionné cette option, renseignez les champs restants en fonction du type de service Git sélectionné :
- URL du dépôt Git (obligatoire) : URL de clonage du dépôt Git à synchroniser.
- Branche Git (obligatoire) : branche du dépôt à synchroniser.
- ID d'application du principal de service (obligatoire) : ID d'application du principal de service ayant accès au dépôt ADO à synchroniser.
- Secret du principal de service (obligatoire) : un secret généré manuellement dans le principal de service, dont la valeur est utilisée pour s'authentifier et accéder au dépôt ADO.
- ID de locataire pour le principal de service (obligatoire) : ID de locataire pour le principal de service.
Renseignez les champs restants avec les informations requises.
Sélectionnez Create (Créer).
Utiliser l’API REST
Pour synchroniser votre dépôt GitHub à l'aide de l'API Rest :
Méthode : PUT
URL :
https://management.azure.com/subscriptions/<subscriptionid>/resourcegroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<datafactoryName>/integrationruntimes/<airflowEnvName>?api-version=2018-06-01Paramètres URI :
Nom Dans Obligatoire Type Description ID d’abonnement path Vrai string Identificateur d'abonnement ResourceGroupName path Vrai string Nom du groupe de ressources (modèle d'expression régulière : ^[-\w\._\(\)]+$)dataFactoryName path Vrai string Nom de l'instance Azure Data Factory (modèle d'expression régulière : ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$airflowEnvName path Vrai string Nom de l'environnement du gestionnaire du flux de travail Api-version query Vrai string Version d’API Corps de la requête (configuration Airflow) :
Nom Type Description nom string Nom de l'environnement Airflow. properties propertyType Propriétés de configuration pour l'environnement Type de propriétés :
Nom Type Description Type string Type de ressource (Airflow dans ce scénario) typeProperties typeProperty Ventilation Type (propriété) :
Nom Type Description computeProperties computeProperty Configuration du type de calcul utilisé pour l'environnement airflowProperties airflowProperty Configuration des propriétés Airflow pour l'environnement Propriété de calcul :
Nom Type Description emplacement string La localisation du runtime d'intégration Airflow est définie par défaut sur la région de la fabrique de données. Pour créer un runtime d'intégration dans une autre région, créez une fabrique de données dans la région requise. computeSize string Taille du nœud de calcul sur lequel vous souhaitez que votre environnement Airflow s'exécute. Les exemples incluent « Large » ou « Small ». Trois nœuds sont alloués au départ. extraNodes entier Chaque nœud supplémentaire ajoute trois Workers de plus. Propriété Airflow :
Nom Type Description airflowVersion string Versions d'Apache Airflow prises en charge. Par exemple, « 2.4.3 ». airflowRequirements Tableau<(chaîne)> Bibliothèques Python que vous souhaitez utiliser. Par exemple, ["flask-bcrypy=0.7.1"]. Peut être une liste séparée par des virgules. airflowEnvironmentVariables Objet (paire clé/valeur) Variables d'environnement que vous souhaitez utiliser. Par exemple, { "SAMPLE_ENV_NAME": "test" }. gitSyncProperties gitSyncProperty Propriétés de configuration Git. enableAADIntegration boolean Permet à Microsoft Entra ID de se connecter au gestionnaire du flux de travail. userName chaîne ou nulle Nom d'utilisateur pour l'authentification de base. mot de passe chaîne ou nulle Mot de passe pour l'authentification de base. Propriété de synchronisation Git :
Nom Type Description gitServiceType string Service Git où se trouve le dépôt souhaité. Les valeurs sont GitHub, ADO, GitLab ou BitBucket. gitCredentialType string Type d'informations d'identification Git. Les valeurs sont PAT (pour le jeton d'accès personnel), SPN (pris en charge uniquement par ADO) et None (Aucun). repo string Lien vers le dépôt. branche string Branche à utiliser dans le dépôt. nom d’utilisateur string Nom d'utilisateur GitHub. Informations d'identification string Valeur du PAT. tenantId string ID de locataire du principal de service (pris en charge uniquement par ADO). Réponses :
Nom Code d’état Type Description Acceptée 200 Usine OK Non autorisé 401 Cloud d'erreur Tableau avec plus de détails sur l'erreur
Exemples
Passez en revue les exemples suivants.
Exemple de demande :
HTTP
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/abnarain-rg/providers/Microsoft.DataFactory/factories/ambika-df/integrationruntimes/sample-2?api-version=2018-06-01
Exemple de corps :
{
"name": "sample-2",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"enableAADIntegration": true,
"userName": null,
"password": null,
"airflowEntityReferences": []
}
}
}
}
Exemple de réponse :
Status code: 200 OK
Corps de la réponse :
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/your-rg/providers/Microsoft.DataFactory/factories/your-df/integrationruntimes/sample-2",
"name": "sample-2",
"type": "Microsoft.DataFactory/factories/integrationruntimes",
"properties": {
"type": "Airflow",
"typeProperties": {
"computeProperties": {
"location": "East US",
"computeSize": "Large",
"extraNodes": 0
},
"airflowProperties": {
"airflowVersion": "2.4.3",
"pythonVersion": "3.8",
"airflowEnvironmentVariables": {
"AIRFLOW__TEST__TEST": "test"
},
"airflowWebUrl": "https://e57f7409041692.eastus.airflow.svc.datafactory.azure.com/login/",
"airflowRequirements": [
"apache-airflow-providers-microsoft-azure"
],
"airflowEntityReferences": [],
"packageProviderPath": "plugins",
"enableAADIntegration": true,
"enableTriggerers": false
}
},
"state": "Initial"
},
"etag": "3402279e-0000-0100-0000-64ecb1cb0000"
}
Voici quelques exemples de charge utile d'API :
Propriétés de synchronisation Git pour GitHub avec PAT :
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }Propriétés de synchronisation Git pour ADO avec PAT :
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "PAT", "repo": <repo url>, "branch": <repo branch to sync>, "username": <username>, "credential": <personal access token> }Propriétés de synchronisation Git pour ADO avec principal de service :
"gitSyncProperties": { "gitServiceType": "ADO", "gitCredentialType": "SPN", "repo": <repo url>, "branch": <repo branch to sync>, "username": < service principal app id >, "credential": <service principal secret value> "tenantId": <service principal tenant id> }Propriétés de synchronisation Git pour un dépôt public GitHub :
"gitSyncProperties": { "gitServiceType": "Github", "gitCredentialType": "None", "repo": <repo url>, "branch": <repo branch to sync> }
Importer un package privé avec la synchronisation Git
Ce processus facultatif s'applique uniquement lorsque vous utilisez des packages privés.
Ce processus suppose que votre package privé a été synchronisé automatiquement via la synchronisation Git. Vous ajoutez le package en tant que dépendance dans l'interface utilisateur du gestionnaire du flux de travail, accompagné du préfixe de chemin /opt/airflow/git/\<repoName\>/, si vous vous connectez à un dépôt ADO. Utilisez /opt/airflow/git/\<repoName\>.git/ pour tous les autres services Git.
Par exemple, si votre package privé se trouve dans /dags/test/private.whl dans un dépôt GitHub, vous devez ajouter la dépendance /opt/airflow/git/\<repoName\>.git/dags/test/private.whl dans l'environnement du gestionnaire du flux de travail.