Communitygithub.com

Cogni-AI-OU/cogni-ai-agent-skills

Guide expert pour utiliser l'interface en ligne de commande Astro afin de gérer des projets Astronomer, développer localement, interagir avec les API Airflow et gérer des déploiements cloud. Vous DEVEZ charger cette compétence lorsqu'on vous demande d'utiliser la commande astro.

Qu'est-ce que cogni-ai-agent-skills ?

Cette compétence fournit un ensemble complet de connaissances pour les développeurs et les agents IA qui utilisent l'interface en ligne de commande Astro (CLI). Elle couvre l'ensemble du cycle de vie du développement Astro/Airflow, de l'initialisation d'un projet et de l'exécution d'environnements locaux (Docker ou autonome) à la gestion des déploiements cloud sur la plateforme Astronomer. La compétence offre des instructions détaillées pour les commandes Astro essentielles, telles que `astro dev start` pour le développement local, `astro deploy` pour les déploiements cloud, et `astro api airflow` pour effectuer des appels authentifiés à l'API REST Airflow. Elle inclut également des conseils de dépannage, comme l'affichage des journaux de déploiement ou la recherche d'erreurs d'import, et des pièges courants, par exemple les problèmes d'authentification ou de contexte. Prise en charge sur toutes les plateformes prenant en charge Astro CLI (macOS, Linux, Windows).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Cogni-AI-OU/cogni-ai-agent-skills/tree/HEAD/astro-cli

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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).
  • uv doit être installé (pour le développement local autonome).

Processus principal

  1. Utilisez astro login pour vous authentifier avant de tenter des commandes d'API cloud ou de déploiement.
  2. Pour le développement local, utilisez astro dev start pour lancer Airflow.
  3. Utilisez astro api airflow pour 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écessite dag-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 login avant 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 list ou astro 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 login dans des environnements non interactifs sans les indicateurs appropriés.

Compétences connexes

Références

Skills associés