Compétence Astro CLI
Quand utiliser cette compétence
- Lors de l'initialisation, de la configuration ou de la validation de projets Astro/Airflow.
- Lors de la gestion d'environnements Airflow locaux (mode Docker ou autonome).
- Lors d'interactions avec les déploiements cloud d'Astronomer, les espaces de travail et les déploiements.
- Lors d'appels à l'API REST Airflow via le wrapper
astro api airflow. - Lors du dépannage de déploiements de production en consultant les journaux ou en gérant les variables d'environnement.
Quand ne pas utiliser
- Lors de l'écriture de DAGs Apache Airflow génériques non spécifiques aux opérations de l'interface en ligne de commande Astronomer.
Prérequis
- L'interface en ligne de commande Astro (
astro) doit être installée. - Docker doit être en cours d'exécution (pour le développement local standard).
uvdoit être installé (pour le développement local autonome).
Processus principal
- Utilisez
astro loginpour vous authentifier avant de tenter des commandes d'API cloud ou de déploiement. - Pour le développement local, utilisez
astro dev startpour lancer Airflow. - Utilisez
astro api airflowpour des requêtes API authentifiées, aussi bien vers des environnements locaux que cloud.
Workflows étape par étape
Configuration et mise en place du projet
- Initialiser le projet :
astro dev init - Valider les DAGs localement :
astro dev parse - Exporter connexions/variables :
astro dev object export --connections --variables - Importer connexions/variables :
astro dev object import --connections --variables --file <chemin>
Gestion de l'environnement local
- Démarrer (Docker) :
astro dev start - Démarrer (Autonome) :
astro dev start --standalone - Arrêter/Tuer :
astro dev stop/astro dev kill(kill supprime les volumes/venv) - Consulter les journaux locaux :
astro dev logs --scheduler(ou--webserver,--workers) - Exécuter la CLI Airflow :
astro dev run dags list - Vérifier l'état du proxy :
astro dev proxy status(pour le routage multi-projets)
Commandes Astro CLI pour le développement local
- Obtenir les complétions par tabulation :
astro completion <shell>(script pour obtenir les complétions par tabulation pour les commandes Astro CLI) - Obtenir les informations du registre :
astro api registry(Obtenir des informations de l'API du registre Airflow) - Exécuter bash dans le planificateur :
astro dev bash(Entrer dans le conteneur du planificateur pour exécuter des commandes bash) - Supprimer tous les conteneurs :
astro dev kill(Supprimer tous les conteneurs, y compris metab, connexions) - Obtenir le flux/les journaux :
astro dev logs(Obtenir les journaux -s / -d / -t / -a, -f pour un flux) - Vérifier les erreurs d'import :
astro dev parse(Vérifier les erreurs d'import) - Exécuter les tests dans le conteneur :
astro dev pytest(Exécuter les tests dans /tests dans un conteneur) - Exécuter une commande CLI Airflow :
astro dev run(Exécuter n'importe quelle commande CLI Airflow !) - Forcer le ré-analyse des DAGs :
astro dev run dags reserialize(Forcer le ré-analyse de tous les DAGs, y compris les nouveaux) - Démarrer localement avec les connexions cloud :
astro dev start --deployment-id [id-déploiement](Pour les clients Astro, démarrer localement avec les mêmes connexions AF que votre déploiement)
Gestion des déploiements cloud
- Changer d'espace de travail :
astro workspace switch <ID_ESPACE_TRAVAIL> - Lister/Inspecter les déploiements :
astro deployment list/astro deployment inspect <ID_DÉPLOIEMENT> - Créer un déploiement :
astro deployment create --label <NOM> --executor celery - Déployer le code (Complet) :
astro deploy <ID_DÉPLOIEMENT> - Déployer uniquement les DAGs :
astro deploy <ID_DÉPLOIEMENT> --dags(nécessitedag-deploy-enabled) - Gérer les variables :
astro deployment variable create --deployment-id <ID> --key <CLÉ> --value <VALEUR> --secret
Dépannage des déploiements cloud
- Consulter les journaux de déploiement :
astro deployment logs <ID_DÉPLOIEMENT> --error - Filtrer les journaux par composant :
astro deployment logs <ID> --scheduler(ou--workers,--triggerer) - Rechercher dans les journaux :
astro deployment logs <ID> --keyword "ImportError"
Exécution d'appels API REST Airflow via Astro CLI
La commande astro api airflow gère automatiquement l'authentification pour votre contexte actuel.
Exemples :
- Lister les DAGs :
astro api airflow get_dags - Obtenir les détails d'un DAG :
astro api airflow get_dag -p dag_id=<dag_id> - Déclencher une exécution de DAG :
astro api airflow trigger_dag_run -p dag_id=<dag_id> -F conf[key]=value - Lister les instances de tâches :
astro api airflow get_task_instances -p dag_id=<dag_id> -p dag_run_id=~ - Filtrer avec jq :
astro api airflow get_dags -q '.dags[].dag_id'
Pièges courants
- Authentification manquante : Oublier d'exécuter
astro loginavant les opérations cloud. - Mauvais contexte : Exécuter des commandes dans le mauvais espace de travail ou contre le mauvais déploiement. Vérifiez toujours avec
astro workspace listouastro deployment list. - Version autonome verrouillée : Le mode autonome nécessite Airflow 3.x/Runtime 13.x+.
- Blocage interactif : Évitez d'exécuter des commandes interactives comme
astro logindans des environnements non interactifs sans les indicateurs appropriés.
Compétences connexes
- astronomer-docs : Lire et naviguer dans la documentation Astronomer à l'aide du contexte llms.txt.
- apache-airflow-api : Exécuter des requêtes de l'API REST stable Apache Airflow, gérer les DAGs, les backfills, les connexions, les variables et les ressources.
- Gestion de l'environnement local Astro
- Dépannage des déploiements Astro