Accéder à l'interface de ligne de commande Airflow

Cloud Composer 1 | Cloud Composer 2

Apache Airflow dispose d'une interface de ligne de commande (CLI) qui vous permet de déclencher et gérer des DAG, d'obtenir des informations sur les exécutions de DAG et sur les tâches, et d'ajouter ou supprimer des connexions et des utilisateurs.

À propos des versions de syntaxe de la CLI

Airflow dans Cloud Composer 2 utilise la syntaxe CLI Airflow 2.

Avant de commencer

Vous devez disposer d'autorisations suffisantes pour utiliser l'outil de ligne de commande gcloud avec Cloud Composer. Pour plus d'informations, consultez la section Contrôle des accès.

Exécuter des commandes de CLI Airflow

Pour exécuter les commandes de CLI Airflow dans vos environnements, utilisez gcloud :

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

Remplacez :

  • ENVIRONMENT_NAME par le nom de l'environnement.
  • LOCATION par la région dans laquelle se trouve l'environnement.
  • SUBCOMMAND par l'une des commandes de CLI Airflow compatibles.
  • SUBCOMMAND_ARGUMENTS par les arguments de la commande Airflow CLI.

Séparateur des arguments de sous-commande

Séparez les arguments de la commande de CLI Airflow spécifiée avec -- :

Airflow 2

Pour la syntaxe Airflow 2 :

  • Spécifiez les commandes CLI composées dans une sous-commande.
  • Spécifiez les arguments des commandes composées en tant qu'arguments de sous-commande, après un séparateur --.
gcloud composer environments run example-environment \
    dags list -- --output=json

Airflow 1

Cloud Composer 2 n'est compatible qu'avec Airflow 2.

Emplacement par défaut

La plupart des commandes gcloud composer nécessitent un emplacement. Vous pouvez le spécifier à l'aide de l'option --location ou en définissant l'emplacement par défaut.

Exemple

Par exemple, pour déclencher un DAG nommé sample_quickstart ayant l'ID 5077 dans votre environnement Cloud Composer :

Airflow 2

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

Airflow 1

Cloud Composer 2 n'est compatible qu'avec Airflow 2.

Exécuter des commandes sur un environnement d'adresse IP privée

Pour exécuter les commandes de CLI Airflow sur un environnement d'adresse IP privée, exécutez-les sur une machine pouvant accéder au point de terminaison du plan de contrôle du cluster GKE. Les options peuvent varier en fonction de votre configuration de cluster privé.

Si l'accès public aux points de terminaison est désactivé dans votre cluster, vous devez exécuter les commandes Airflow depuis une VM sur le même réseau VPC. Créez une VM dans votre réseau VPC pour activer ce chemin.

Si l'accès public aux points de terminaison et les réseaux autorisés pour le plan de contrôle sont activés, vous pouvez également exécuter des commandes Airflow depuis une machine dotée d'une adresse IP publique ajoutée aux réseaux autorisés. Pour activer l'accès depuis votre machine, ajustez la configuration du cluster GKE :

  1. Recherchez le nom du cluster GKE qui exécute votre environnement Cloud Composer :

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

    Remplacez :

    • ENVIRONMENT_NAME par le nom de l'environnement.
    • LOCATION par la région dans laquelle se trouve l'environnement.
  2. Recherchez l'adresse IP publique de la machine sur laquelle vous souhaitez exécuter les commandes de CLI Airflow dans votre environnement. Si vous utilisez Cloud Shell, utilisez dig pour trouver l'adresse IP externe de votre environnement Cloud Shell :

    dig +short myip.opendns.com @resolver1.opendns.com
    
  3. Ajoutez l'adresse externe de votre machine à la liste des réseaux autorisés pour le plan de contrôle du cluster:

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

    Remplacez :

    • EXISTING_AUTH_NETS par la liste existante de réseaux autorisés pour le plan de contrôle. Vous pouvez trouver les réseaux autorisés en exécutant la commande suivante:

      gcloud container clusters describe GKE_CLUSTER \
          --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
      
    • EXTERNAL_IP par l'adresse IP externe de votre environnement Cloud Shell ou par l'adresse IP publique de la machine sur laquelle vous souhaitez exécuter les commandes de CLI Airflow.

  4. Exécutez les commandes de CLI Airflow dans l'environnement d'adresse IP privée.

Commandes de CLI Airflow compatibles

Pour obtenir la liste complète des commandes de CLI Airflow compatibles, consultez la documentation de référence gcloud composer environments run.