Interface de linha de comando do Airflow

O Apache Airflow tem uma interface de linha de comando (CLI, na sigla em inglês) que pode ser usada para executar tarefas como acionar e gerenciar DAGs, conseguir informações sobre execuções e tarefas e adicionar conexões e usuários.

Sobre as versões de sintaxe da CLI

O Airflow fornece duas sintaxes diferentes para comandos da CLI:

Antes de começar

Você precisa ter permissões suficientes para usar a ferramenta de linha de comando gcloud com o Cloud Composer. Para mais informações, consulte controle de acesso.

Executar comandos da CLI do Airflow

Para executar comandos da CLI do Airflow nos ambientes, use gcloud:

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

Substitua:

  • ENVIRONMENT_NAME pelo nome do ambiente.
  • LOCATION pela região do Compute Engine em que o ambiente está localizado.
  • SUBCOMMAND por um dos comandos da CLI do Airflow compatíveis.
  • SUBCOMMAND_ARGUMENTS com argumentos para o comando da CLI do Airflow.

Separador de argumentos do subcomando

Separe os argumentos para o comando especificado da CLI do Airflow com --:

CLI do Airflow 1.10

Para a sintaxe da CLI do Airflow 2.0:

  • Especifique comandos da CLI como um subcomando.
  • Especifique qualquer argumento após um separador --.
gcloud composer composer environments run example-environment \
    list_dags -- --report

CLI do Airflow 2.0

Para a sintaxe da CLI do Airflow 2.0:

  • Especifique comandos compostos da CLI como um subcomando.
  • Especifique quaisquer argumentos para comandos compostos como argumentos de subcomando, depois de um separador --.
gcloud beta composer composer environments run example-environment \
    dags list -- --output=json

Local padrão

A maioria dos comandos gcloud composer requer um local. É possível especificar o local com a sinalização --location ou definindo o local padrão.

Exemplo

Por exemplo, para acionar um DAG chamado sample_quickstart com o ID 5077 em seu ambiente do Cloud Composer:

CLI do Airflow 1.10

gcloud composer environments run example-environment \
    --location us-central1 trigger_dag -- sample_quickstart \
    --run_id=5077

CLI do Airflow 2.0

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

Como executar comandos em um ambiente de IP particular

Para executar comandos da CLI do Airflow em um ambiente de IP particular, execute-os em uma máquina que pode acessar o endpoint do mestre do cluster do GKE. Suas opções podem variar dependendo da configuração de cluster particular.

Se o acesso ao endpoint público estiver desativado no cluster, execute comandos do Airflow de uma VM na mesma rede VPC. Crie uma VM na sua rede VPC para ativar esse caminho.

Se o acesso ao endpoint público e as redes principais autorizadas estiverem ativadas, também será possível executar comandos do Airflow em uma máquina com endereço IP público adicionado às redes autorizadas do mestre. Para ativar o acesso pela sua máquina, ajuste a configuração do cluster do GKE:

  1. Encontre o nome do cluster do GKE que executa seu ambiente do Cloud Composer:

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

    Substitua:

    • ENVIRONMENT_NAME pelo nome do ambiente.
    • LOCATION pela região do Compute Engine em que o ambiente está localizado.
  2. Encontre o IP público da máquina em que você quer executar comandos da CLI do Airflow no ambiente. Se você estiver usando o Cloud Shell, use dig para encontrar o endereço IP externo do seu Cloud Shell:

    dig +short myip.opendns.com @resolver1.opendns.com
    
  3. Adicione o endereço externo da máquina à lista de redes autorizadas do mestre do cluster:

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

    Substitua:

    • EXISTING_AUTH_NETS pela lista atual de redes mestres autorizadas; Encontre as redes autorizadas do mestre executando este comando:

      gcloud container clusters describe GKE_CLUSTER \
          --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
      
    • EXTERNAL_IP pelo endereço IP externo do Cloud Shell ou o IP público da máquina em que você quer executar comandos da CLI do Airflow.

  4. executar comandos da CLI do Airflow no ambiente de IP particular;

Comandos compatíveis da CLI do Airflow

O Cloud Composer é compatível com os comandos da CLI do Airflow com base na versão do Airflow usada no ambiente: