Auf Airflow-Befehlszeile zugreifen

Cloud Composer 1 Cloud Composer 2

Apache Airflow bietet eine Befehlszeile, mit der Sie Aufgaben wie das Auslösen und Verwalten von DAGs, das Abrufen von Informationen zu DAG-Ausführungen und -Aufgaben, das Hinzufügen und Löschen von Verbindungen und Nutzern ausführen können.

Über CLI-Syntaxversionen

Airflow in Cloud Composer 1 bietet zwei verschiedene Syntaxen für Befehlszeilenbefehle:

Hinweis

Sie müssen ausreichende Berechtigungen haben, um das gcloud-Befehlszeilentool mit Cloud Composer zu verwenden. Weitere Informationen finden Sie unter Zugriffssteuerung.

Befehle der Airflow-Befehlszeile ausführen

Zum Ausführen von Befehlen der Airflow-Befehlszeile in Ihren Umgebungen verwenden Sie gcloud:

gcloud composer environments run ENVIRONMENT_NAME \
    --location LOCATION \
    SUBCOMMAND \
    -- SUBCOMMAND_ARGUMENTS

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Compute Engine-Region, in der sich die Umgebung befindet.
  • SUBCOMMAND durch einen der unterstützten Airflow-Befehlszeilenbefehle.
  • SUBCOMMAND_ARGUMENTS durch Argumente für den Airflow-Befehlszeilenbefehl.

Trennzeichen für Unterbefehle

Trennen Sie die Argumente für den angegebenen Airflow-Befehlszeilenbefehl durch --:

Airflow 2

Für die Syntax der Airflow-2-Befehlszeile:

  • Geben Sie komplexe Unterbefehle als Unterbefehl an.
  • Geben Sie nach dem ---Trennzeichen Argumente für zusammengesetzte Befehle als Unterbefehlsargumente an.
gcloud composer environments run example-environment \
    dags list -- --output=json

Airflow 1

Für die Syntax der Airflow-1.10-Befehlszeile:

  • Geben Sie die Befehlszeilenbefehle als Unterbefehl an.
  • Geben Sie alle Argumente nach dem Trennzeichen -- an.
gcloud composer environments run example-environment \
    list_dags -- --report

Standardort

Für die meisten gcloud composer-Befehle ist ein Speicherort erforderlich. Sie können den Speicherort mit dem Flag --location oder durch Festlegen des Standardspeicherorts angeben.

Beispiel

Beispielsweise haben Sie die Möglichkeit, mit dem folgenden Befehl einen DAG namens sample_quickstart mit der ID 5077 in Ihrer Cloud Composer-Umgebung auszulösen:

Airflow 2

gcloud composer environments run example-environment \
    --location us-central1 dags trigger -- sample_quickstart \
    --run-id=5077

Airflow 1

gcloud composer environments run example-environment \
    --location us-central1 trigger_dag -- sample_quickstart \
    --run_id=5077

Befehle in einer privaten IP-Umgebung ausführen

Zum Ausführen von Befehlen der Airflow-Befehlszeile in einer privaten IP-Umgebung müssen Sie sie auf einem Computer aufrufen, der Zugriff auf den Masterendpunkt des GKE-Clusters hat. Die Optionen variieren dabei abhängig von Ihrer privaten Clusterkonfiguration.

Wenn der Zugriff auf öffentliche Endpunkte in Ihrem Cluster deaktiviert ist, müssen Sie die Airflow-Befehle von einer VM im selben VPC-Netzwerk ausführen. Zur Aktivierung dieses Pfads erstellen Sie eine VM in Ihrem VPC-Netzwerk.

Wenn der öffentliche Endpunktzugriff und autorisierte Netzwerke auf Steuerungsebene aktiviert sind, können Sie Airflow-Befehle auch von einem Computer mit einer öffentlichen IP-Adresse ausführen, die zu autorisierten Masternetzwerken hinzugefügt wird. Zur Aktivierung des Zugriffs über Ihren Computer passen Sie die Konfiguration des GKE-Clusters entsprechend an:

  1. Suchen Sie den Namen des GKE-Clusters, in dem die Cloud Composer-Umgebung ausgeführt wird:

    gcloud composer environments describe \
        ENVIRONMENT_NAME \
        --location LOCATION \
        --format="value(config.gkeCluster)"
    

    Ersetzen Sie:

    • ENVIRONMENT_NAME durch den Namen der Umgebung.
    • LOCATION durch die Compute Engine-Region, in der sich die Umgebung befindet.
  2. Ermitteln Sie die öffentliche IP-Adresse des Computers, auf dem in Ihrer Umgebung Befehle der Airflow-Befehlszeile ausgeführt werden sollen. Wenn Sie Cloud Shell nutzen, verwenden Sie zum Ermitteln der externen IP-Adresse von Cloud Shell dig:

    dig +short myip.opendns.com @resolver1.opendns.com
    
  3. Fügen Sie die externe Adresse Ihres Computers der Liste autorisierter Masternetzwerke in Ihrem Cluster hinzu:

    gcloud container clusters update GKE_CLUSTER \
        --enable-master-authorized-networks \
        --master-authorized-networks EXISTING_AUTH_NETS,EXTERNAL_IP/32
    

    Ersetzen Sie:

    • EXISTING_AUTH_NETS mit Ihrer bestehenden Liste autorisierter Masternetzwerke. Sie können Ihre autorisierten Masternetzwerke mit dem folgenden Befehl ermitteln:

      gcloud container clusters describe GKE_CLUSTER \
          --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
      
    • EXTERNAL_IP durch die externe IP-Adresse Ihrer Cloud Shell oder die öffentliche IP-Adresse des Computers, auf dem Airflow-Befehlszeilenbefehle ausgeführt werden sollen.

  4. Führen Sie Befehle der Airflow-Befehlszeile in Ihrer privaten IP-Umgebung aus.

Unterstützte Befehle der Airflow-Befehlszeile

Eine vollständige Liste der unterstützten Airflow-Befehlszeilenbefehle finden Sie in der Referenz zu gcloud composer environments run.