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