Communitygithub.com

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

Experten-Leitfaden zur Verwendung der Astro CLI zur Verwaltung von Astronomer-Projekten, lokaler Entwicklung, Interaktion mit Airflow-APIs und Verwaltung von Cloud-Deployments. Sie MÜSSEN diese Fähigkeit laden, wenn Sie aufgefordert werden, den Befehl astro zu verwenden.

Was ist cogni-ai-agent-skills?

Diese Fähigkeit bietet einen Experten-Leitfaden für die Verwendung der Astro CLI zur Verwaltung von Astronomer-Projekten, lokaler Airflow-Entwicklung, Cloud-Deployments und Airflow-REST-API-Interaktionen. Sie ist für Entwickler konzipiert, die mit der Astronomer-Plattform arbeiten und entweder in Docker- oder Standalone-Modi entwickeln. Die Fähigkeit behandelt die vollständige Palette der Astro CLI-Befehle: Initialisierung und Konfiguration von Projekten, Bereitstellung von Code oder nur DAGs, Verwaltung von Umgebungsvariablen und Verbindungen, Fehlerbehebung bei Cloud-Deployments und Ausführung von Airflow-API-Aufrufen über den Befehl `astro api airflow`. Sie automatisiert Cloud-Operationen, reduziert manuelle Schritte und liefert spezifische Befehle für die lokale Fehlerbehebung (z. B. Protokolle, Bash-Zugriff, Parsen). Wichtige Befehle umfassen `astro dev start`, `astro deploy`, `astro deployment logs` und `astro api airflow trigger_dag_run`. Die Fähigkeit vermeidet generische Airflow DAG-Erstellung und konzentriert sich auf CLI-spezifische Aufgaben, mit häufigen Fallstricken wie fehlender Authentifizierung und Kontextinkonsistenzen.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Astro CLI Fähigkeit

Wann diese Fähigkeit zu verwenden ist

  • Beim Initialisieren, Konfigurieren oder Validieren von Astro/Airflow-Projekten.
  • Beim Verwalten lokaler Airflow-Umgebungen (Docker- oder Standalone-Modus).
  • Bei der Interaktion mit Astronomer-Cloud-Deployments, Workspaces und Deployments.
  • Beim Aufrufen der Airflow REST API über den astro api airflow Wrapper.
  • Bei der Fehlerbehebung von Produktions-Deployments durch Anzeigen von Protokollen oder Verwalten von Umgebungsvariablen.

Wann nicht zu verwenden

  • Beim Schreiben generischer Apache Airflow DAGs, die nicht spezifisch für Astronomer CLI-Operationen sind.

Voraussetzungen

  • Astro CLI (astro) muss installiert sein.
  • Docker muss laufen (für die standardmäßige lokale Entwicklung).
  • uv muss installiert sein (für die Standalone-lokale Entwicklung).

Kernprozess

  1. Verwenden Sie astro login, um sich zu authentifizieren, bevor Sie Cloud-API- oder Deployment-Befehle ausführen.
  2. Für die lokale Entwicklung verwenden Sie astro dev start, um Airflow zu starten.
  3. Verwenden Sie astro api airflow für authentifizierte API-Anfragen sowohl an lokale als auch an Cloud-Umgebungen.

Schritt-für-Schritt-Workflows

Projekteinrichtung & -konfiguration

  • Projekt initialisieren: astro dev init
  • DAGs lokal validieren: astro dev parse
  • Verbindungen/Variablen exportieren: astro dev object export --connections --variables
  • Verbindungen/Variablen importieren: astro dev object import --connections --variables --file <pfad>

Lokale Umgebung verwalten

  • Starten (Docker): astro dev start
  • Starten (Standalone): astro dev start --standalone
  • Stoppen/Killen: astro dev stop / astro dev kill (kill entfernt Volumes/venv)
  • Lokale Protokolle anzeigen: astro dev logs --scheduler (oder --webserver, --workers)
  • Airflow CLI ausführen: astro dev run dags list
  • Proxy-Status prüfen: astro dev proxy status (für Multi-Projekt-Routing)

Astro CLI Befehle für lokale Entwicklung

  • Tab-Vervollständigung erhalten: astro completion <shell> (Skript zur Aktivierung der Tab-Vervollständigung für Astro CLI-Befehle)
  • Registry-Info abrufen: astro api registry (Info von der Airflow Registry-API abrufen)
  • Bash im Scheduler ausführen: astro dev bash (in den Scheduler-Container wechseln, um Bash-Befehle auszuführen)
  • Alle Container entfernen: astro dev kill (Alle Container inkl. Meta-Datenbank und Verbindungen entfernen)
  • Stream/Protokolle abrufen: astro dev logs (Protokolle abrufen -s / -d / -t / -a, -f für einen Stream)
  • Importfehler prüfen: astro dev parse (Auf Importfehler prüfen)
  • Tests im Container ausführen: astro dev pytest (Tests in /tests in einem Container ausführen)
  • Airflow CLI Befehl ausführen: astro dev run (Jeden Airflow CLI Befehl ausführen!)
  • DAGs neu analysieren erzwingen: astro dev run dags reserialize (Erzwungene Neuanalyse aller DAGs inkl. neuer)
  • Lokal mit Cloud-Verbindungen starten: astro dev start --deployment-id [deployment-id] (Für Astro-Kunden: Lokal mit denselben AF-Verbindungen wie Ihr Deployment starten)

Cloud Deployment-Verwaltung

  • Workspace wechseln: astro workspace switch <WORKSPACE_ID>
  • Deployments auflisten/überprüfen: astro deployment list / astro deployment inspect <DEPLOYMENT_ID>
  • Deployment erstellen: astro deployment create --label <NAME> --executor celery
  • Code bereitstellen (Komplett): astro deploy <DEPLOYMENT_ID>
  • Nur DAGs bereitstellen: astro deploy <DEPLOYMENT_ID> --dags (erfordert dag-deploy-enabled)
  • Variablen verwalten: astro deployment variable create --deployment-id <ID> --key <KEY> --value <VAL> --secret

Fehlerbehebung bei Cloud-Deployments

  • Deployment-Protokolle anzeigen: astro deployment logs <DEPLOYMENT_ID> --error
  • Protokolle nach Komponente filtern: astro deployment logs <ID> --scheduler (oder --workers, --triggerer)
  • Protokolle durchsuchen: astro deployment logs <ID> --keyword "ImportError"

Ausführen von Airflow REST API-Aufrufen über die Astro CLI

Der Befehl astro api airflow übernimmt automatisch die Authentifizierung für Ihren aktuellen Kontext.

Beispiele:

  • DAGs auflisten: astro api airflow get_dags
  • DAG-Details abrufen: astro api airflow get_dag -p dag_id=<dag_id>
  • DAG-Lauf auslösen: astro api airflow trigger_dag_run -p dag_id=<dag_id> -F conf[key]=value
  • Task-Instanzen auflisten: astro api airflow get_task_instances -p dag_id=<dag_id> -p dag_run_id=~
  • Mit jq filtern: astro api airflow get_dags -q '.dags[].dag_id'

Häufige Fallstricke

  • Fehlende Authentifizierung: Vergessen, astro login vor Cloud-Operationen auszuführen.
  • Kontextinkonsistenz: Befehle im falschen Workspace oder gegen das falsche Deployment ausführen. Überprüfen Sie immer astro workspace list oder astro deployment list.
  • Standalone-Version-Festlegung: Der Standalone-Modus erfordert Airflow 3.x/Runtime 13.x+.
  • Interaktive Hänger: Vermeiden Sie die Ausführung interaktiver Befehle wie astro login in nicht-interaktiven Umgebungen ohne entsprechende Flags.

Verwandte Fähigkeiten

Referenzen

Verwandte Skills