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, 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.

Hinweis

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 Compute Engine-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 Speicherort 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 Master-Endpunkt 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 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 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 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 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 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 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 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 durch Ihre vorhandene 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 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.