Utilisation d’Apache Airflow™ avec la CLI de Cortex Code

Cortex Code offre une prise en charge intégrée pour Apache Airflow™, fournissant ainsi une interface en langage naturel pour gérer les DAGs, déboguer les échecs, créer des pipelines, analyser des données et suivre les lignées dans vos déploiements Airflow.

Capacités

Capacité

Description

Exemple d’invite

Surveillance des pipelines

Contrôles de santé, inspection des DAG, connexion et visibilité des variables, contrôle de la planification

« Mon instance d’Airflow est-elle saine ? »

Gestion de l’exécution

Déclencher des DAGs à la demande, attendre les résultats, transmettre la configuration personnalisée

« Testez le DAG daily_etl et prévenez-moi quand il se termine »

Débogage d’échec

Analyse des causes profondes de l’état d’exécution, des instances de tâches et des journaux avec évaluation d’impact et recommandations de corrections

«  Pourquoi mon_pipeline a-t-il échoué cette nuit ? »

Création de DAG

Création de DAG pilotée en utilisant vos modèles, connexions et fournisseurs existants avec un workflow découvrir-planifier-implémenter-valider-tester

« Créer unDAG qui extrait de Snowflake et charge quotidiennement sur S3 »

Analyse des données

Requêtes d’entrepôt, profilage de table et contrôles d’actualisation avec mise en cache de modèles et apprentissage du concept à la table

« Combien de clients actifs avons-nous ce trimestre ? »

Lignée de données

Traçage de l’origine en amont et analyse d’impact en aval via le code source de DAG avec des scores de criticité

« Qu’est-ce qui se passe si je modifie le schéma de la table des clients ? »

Migration Airflow 3

Migration de code automatisée avec règles Ruff, corrections d’importation, remplacements de clés de contexte et mises à jour des modèles d’accès aux métadonnées

« Migrer mes DAGs de Airflow 2 à Airflow 3 »

Intégration dbt

Exécuter des projets dbt Core ou Fusion en tant que DAGs d’Airflow via Astronomer Cosmos avec analyse, exécution et configuration de profil

« Configurez mon projet dbt pour qu’il s’exécute dans Airflow à l’aide de Cosmos »

Intervention humaine

Portes d’approbation, entrées de formulaires et création de branches gérées par l’humain dans les DAGs (Airflow 3.1+)

« Ajouter une étape d’approbation avant la tâche de déploiement »

Environnements locaux

Démarrez, arrêtez, redémarrez et dépannez les environnements Airflow locaux avec la CLI d’Astro

« Démarrer mon environnement Airflow local »

Conditions préalables

L’intégration d’ Airflow de Cortex Code nécessite` uv<https://docs.astral.sh/uv/getting-started/installation/>`_ . Si``uv`` n’est pas installé,``cortex airflow`` fournit un message utile avec le lien d’installation.

Configuration de l’intégration d’Airflow

Avant de pouvoir gérer votre instance d’Airflow avec Cortex Code, vous devez configurer une connexion. Vous pouvez le faire en utilisant des variables d’environnement, ou dans la CLI de Cortex Code avec une commande de configuration interactive.

Configuration de la variable d’environnement

Exportez les variables requises dans votre shell avant de démarrer Cortex Code, comme suit. Vous pouvez utiliser l’authentification par jeton, soit l’authentification par nom d’utilisateur/mot de passe. Si vous utilisez toujours la même instance d’Airflow, incluez un code comme celui-ci dans votre profil shell (~/.bashrc ou``~/.zshrc``) pour éviter d’avoir à la saisir à nouveau à chaque fois.

# Token auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_AUTH_TOKEN=your-api-token

# Username/password auth
export AIRFLOW_API_URL=https://airflow.example.com
export AIRFLOW_USERNAME=your-username
export AIRFLOW_PASSWORD=your-password
Configuration interactive

Exécuter /airflow dans Cortex Code pour gérer les instances via une UI en plein écran. L’authentification par jeton et l’authentification par nom d’utilisateur/mot de passe sont prises en charge.

Commande

Description

/airflow

Gérer les instances d’Airflow (ouvre le gestionnaire d’instances)

/airflow show

Afficher la configuration actuelle (les secrets sont masqués)

/airflow clear

Supprimer toute la configuration

/airflow prend en charge plusieurs instances nommées. Utilisez le gestionnaire d’instance pour les ajouter, passer de l’une à l’autre ou les supprimer.

Commandes de la CLI d’Airflow

Utilisez cortex airflow pour interagir avec votre instance Airflow depuis le terminal, comme le montrent les exemples ci-dessous.

Vérifier la santé de l’instance :

cortex airflow health

Répertorier tous les DAGs :

cortex airflow dags list

Obtenir des détails sur un DAG spécifique :

cortex airflow dags get my_pipeline

Voir le code source d’un DAG :

cortex airflow dags source my_pipeline

Déclencher l’exécution d’un DAG :

cortex airflow runs trigger my_pipeline

Afficher les exécutions récentes d’un DAG :

cortex airflow runs list my_pipeline

Vérifier le statut d’une tâche pour une exécution spécifique :

cortex airflow tasks list my_pipeline <run_id>

Mettre en pause ou réactiver un DAG :

cortex airflow dags pause my_pipeline
cortex airflow dags unpause my_pipeline

Exécuter cortex airflow --help pour obtenir la liste complète des commandes.

Résolution des problèmes

Connexion refusée

Symptôme : les opérations d’Airflow échouent en raison d’erreurs de connexion.

Solution : vérifiez que l’URL de votre instance est correcte et que l’API d’Airflow est accessible. Vérifiez la configuration actuelle de votre instance et testez la connectivité à l’aide d’un contrôle de santé.

Échecs d’authentification

Symptôme : les opérations renvoient des erreurs 401 ou 403.

Solution : effectuez les opérations suivantes :

  • Assurez-vous que votre jeton ou vos identifiants de connexion sont corrects.

  • Vérifiez si le jeton a expiré. régénérez-le si nécessaire.

  • Assurez-vous que l’utilisateur et le rôle disposent d’autorisations d’accès à l’API dans Airflow.

DAG introuvable

Symptôme : les opérations signalent que le DAG n’existe pas.

Solution : vérifiez les erreurs d’importation ou d’analyse qui pourraient empêcher le chargement du DAG. Assurez-vous que l’ID du DAG correspond exactement.

uv non installé

**Symptôme :**cortex airflow affiche « cortex airflow nécessite uv ».

Solution : installez uv depuis ` le site d’uv<https://docs.astral.sh/uv/getting-started/installation/>`_.