Acessar a interface de linha de comando do Airflow

Cloud Composer 1 | Cloud Composer 2

O Apache Airflow tem uma interface de linha de comando (CLI) que pode ser usada para realizar tarefas, como acionar e gerenciar DAGs, receber informações sobre execuções e tarefas do DAG, adicionar e excluir conexões e usuários.

Sobre as versões de sintaxe da CLI

O Airflow no Cloud Composer 1 oferece 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 seus 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 compatíveis da CLI do Airflow;
  • SUBCOMMAND_ARGUMENTS com argumentos para o comando da CLI do Airflow.

Separador de argumentos de subcomando

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

Airflow 2

Para a sintaxe da CLI do Airflow 2:

  • Especifique comandos CLI compostos como um subcomando.
  • Especifique qualquer argumento para comandos compostos como argumentos de subcomando, após um separador --.
gcloud composer environments run example-environment \
    dags list -- --output=json

Airflow 1

Para a sintaxe da CLI do Airflow 1.10:

  • Especifique os comandos da CLI como um subcomando.
  • Especifique qualquer argumento depois de um separador --.
gcloud composer environments run example-environment \
    list_dags -- --report

Local padrão

A maioria dos comandos gcloud composer requer um local. Especifique 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 no seu ambiente do Cloud Composer:

Airflow 2

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

Airflow 1

gcloud composer environments run example-environment \
    --location us-central1 trigger_dag -- 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 sua 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 público ao endpoint e as redes autorizadas do plano de controle estiverem ativadas, também será possível executar comandos do Airflow em uma máquina com um 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 o 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 é a 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 os comandos da CLI do Airflow;

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

Comandos compatíveis da CLI do Airflow

Para ver uma lista completa de comandos compatíveis com a CLI do Airflow, consulte a referência gcloud composer environments run.