Auf die Airflow-Befehlszeile zugreifen

Cloud Composer 1 | Cloud Composer 2

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

Versionen der Befehlszeilensyntax

Airflow in Cloud Composer 2 verwendet die Airflow 2-Befehlszeilensyntax.

Hinweise

Sie benötigen ausreichende Berechtigungen, um das gcloud-Befehlszeilentool mit Cloud Composer zu verwenden. Weitere Informationen finden Sie unter Zugriffssteuerung.

Befehle der Airflow-Befehlszeile ausführen

Verwenden Sie zum Ausführen von Airflow-Befehlszeilenbefehlen in Ihren Umgebungen gcloud:

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

Ersetzen Sie:

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

Trennzeichen für Unterbefehlsargumente

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

Luftstrom 2

Für die Syntax der Airflow-Befehlszeile:

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

Luftstrom 1

Cloud Composer 2 unterstützt nur Airflow 2.

Standardort

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

Beispiel

So lösen Sie beispielsweise einen DAG mit dem Namen sample_quickstart mit der ID 5077 in Ihrer Cloud Composer-Umgebung aus:

Luftstrom 2

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

Luftstrom 1

Cloud Composer 2 unterstützt nur Airflow 2.

Befehle in einer privaten IP-Umgebung ausführen

Wenn Sie Airflow-Befehlszeilenbefehle in einer privaten IP-Umgebung ausführen möchten, führen Sie sie auf einem Computer aus, der auf den Endpunkt der Steuerungsebene des GKE-Clusters zugreifen kann. Die Optionen können je nach Konfiguration des privaten Clusters variieren.

Wenn der Zugriff auf öffentliche Endpunkte in Ihrem Cluster deaktiviert ist, müssen Sie Airflow-Befehle von einer VM im selben VPC-Netzwerk ausführen. Erstellen Sie eine VM in Ihrem VPC-Netzwerk, um diesen Pfad zu aktivieren.

Wenn der Zugriff auf öffentliche Endpunkte und autorisierte Netzwerke der Steuerungsebene aktiviert sind, können Sie Airflow-Befehle auch auf einem Computer mit einer öffentlichen IP-Adresse ausführen, die autorisierten Netzwerken hinzugefügt wird. Wenn Sie den Zugriff von Ihrem Computer aus ermöglichen möchten, passen Sie die Konfiguration des GKE-Clusters an:

  1. Suchen Sie den Namen des GKE-Clusters, in dem Ihre 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 Region, in der sich die Umgebung befindet.
  2. Suchen Sie die öffentliche IP-Adresse der Maschine, auf der Sie Airflow-Befehlszeilenbefehle in Ihrer Umgebung ausführen möchten. Wenn Sie Cloud Shell verwenden, suchen Sie mit dig nach der externen IP-Adresse von Cloud Shell:

    dig +short myip.opendns.com @resolver1.opendns.com
    
  3. Fügen Sie die externe Adresse Ihrer Maschine der Liste der autorisierten Netzwerke des Clusters 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 durch Ihre vorhandene Liste autorisierter Netzwerke der Steuerungsebene. Führen Sie den folgenden Befehl aus, um die autorisierten Netzwerke zu finden:

      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 der Maschine, auf der Sie Airflow-Befehlszeilenbefehle ausführen möchten.

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

Unterstützte Airflow-Befehlszeilenbefehle

Eine vollständige Liste der unterstützten Befehle für die Airflow-Befehlszeile finden Sie in der Referenz zu gcloud composer environments run.