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 airflowWrapper. - 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).
uvmuss installiert sein (für die Standalone-lokale Entwicklung).
Kernprozess
- Verwenden Sie
astro login, um sich zu authentifizieren, bevor Sie Cloud-API- oder Deployment-Befehle ausführen. - Für die lokale Entwicklung verwenden Sie
astro dev start, um Airflow zu starten. - Verwenden Sie
astro api airflowfü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(erfordertdag-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 loginvor Cloud-Operationen auszuführen. - Kontextinkonsistenz: Befehle im falschen Workspace oder gegen das falsche Deployment ausführen. Überprüfen Sie immer
astro workspace listoderastro 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 loginin nicht-interaktiven Umgebungen ohne entsprechende Flags.
Verwandte Fähigkeiten
- astronomer-docs: Lesen und navigieren Sie durch die Astronomer-Dokumentation mit dem llms.txt-Kontext.
- apache-airflow-api: Ausführen von Apache Airflow Stable REST API-Abfragen, Verwalten von DAGs, Backfills, Verbindungen, Variablen und Assets.
- Verwalten der lokalen Astro-Umgebung
- Fehlerbehebung bei Astro-Deployments