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 d'effectuer des tâches telles que le déclenchement et la gestion des DAG, l'obtention d'informations sur les exécutions et les tâches DAG, l'ajout et la suppression de connexions et d'utilisateurs.

À propos des versions de la syntaxe de la CLI

Airflow dans Cloud Composer 2 utilise la syntaxe Airflow 2

Avant de commencer

Vous devez disposer des autorisations suffisantes pour utiliser l'outil de ligne de commande gcloud avec Cloud Composer. Pour en savoir plus, consultez la page sur le contrôle des accès.

Exécuter les 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 Compute Engine dans laquelle se trouve l'environnement.
  • SUBCOMMAND par l'une des commandes de la CLI Airflow compatibles.
  • SUBCOMMAND_ARGUMENTS par les arguments de la commande CLI Airflow.

Séparateur d'arguments de sous-commande

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

Airflow 2

Pour la syntaxe Airflow 2:

  • Spécifiez les commandes CLI complexes en tant que sous-commande.
  • Spécifiez tous 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 spécifier l'emplacement avec l'option --location ou en définissant l'emplacement par défaut.

Exemple

Par exemple, pour déclencher un DAG nommé sample_quickstart avec 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 maître du cluster GKE. Vos options peuvent varier en fonction de la configuration de votre 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 les commandes Airflow depuis une machine dotée d'une adresse IP publique ajoutée aux réseaux autorisés maîtres. 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 Compute Engine 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 maîtres de votre 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 votre liste existante de réseaux autorisés maîtres. Pour trouver vos réseaux autorisés maîtres, exécutez 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 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 sur votre environnement d'adresse IP privée.

Commandes CLI Airflow compatibles

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