Interfaz de línea de comandos de Airflow

Apache Airflow tiene una interfaz de línea de comandos (CLI) que puedes usar para realizar tareas como activar y administrar DAG, obtener información sobre ejecuciones y tareas del DAG, agregar y borrar conexiones y usuarios.

Acerca de las versiones de sintaxis de CLI

Airflow proporciona dos sintaxis diferentes para los comandos de la CLI:

Antes de comenzar

Debes tener permisos suficientes para usar la herramienta de línea de comandos de gcloud con Cloud Composer. Para obtener más información, consulta Control de acceso.

Ejecuta comandos de la CLI de Airflow

Para ejecutar los comandos de la CLI de Airflow en tus entornos, usa gcloud:

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

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME con el nombre del entorno.
  • LOCATION por la región de Compute Engine donde se encuentra el entorno.
  • SUBCOMMAND con uno de los comandos de la CLI de Airflow compatibles
  • SUBCOMMAND_ARGUMENTS con argumentos para el comando de la CLI de Airflow

Separador de argumentos de subcomando

Separa los argumentos del comando de la CLI de Airflow especificado con --:

CLI de Airflow 1.10

Para la sintaxis de la CLI de Airflow 2.0:

  • Especifica los comandos de la CLI como subcomando.
  • Especifica cualquier argumento después de un separador --.
gcloud composer composer environments run example-environment \
    list_dags -- --report

CLI de Airflow 2.0

Para la sintaxis de la CLI de Airflow 2.0:

  • Especifica los comandos de la CLI de CLI como su subcomando.
  • Especifica cualquier argumento para los comandos compuestos como argumentos de subcomandos, después de un separador --.
gcloud beta composer composer environments run example-environment \
    dags list -- --output=json

Ubicación predeterminada

La mayoría de los comandos gcloud composer requiere una ubicación. Puedes especificar la ubicación con la marca --location o mediante la configuración de la ubicación predeterminada.

Ejemplo

Por ejemplo, para activar un DAG con el nombre sample_quickstart con el ID 5077 en tu entorno de Cloud Composer, ejecuta lo siguiente:

CLI de Airflow 1.10

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

CLI de Airflow 2.0

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

Ejecuta comandos en un entorno de IP privada

Para ejecutar comandos de la CLI de Airflow en un entorno de IP privada, ejecútalos en una máquina que pueda acceder al extremo de la instancia principal del clúster de GKE. Las opciones pueden variar según la configuración del clúster privado.

Si el acceso de extremo público está inhabilitado en tu clúster, debes ejecutar comandos de Airflow desde una VM en la misma red de VPC. Crea una VM en tu red de VPC para habilitar esta ruta.

Si el acceso al extremo público y las redes autorizadas de la instancia principal están habilitados, también puedes ejecutar comandos de Airflow desde una máquina con una dirección IP pública que se agregue a redes autorizadas de la instancia principal. Para habilitar el acceso desde tu máquina, ajusta la configuración del clúster de GKE:

  1. Busca el nombre del clúster de GKE que ejecuta tu entorno de Cloud Composer:

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

    Reemplaza lo siguiente:

    • ENVIRONMENT_NAME con el nombre del entorno.
    • LOCATION con la región de Compute Engine en la que se encuentra el entorno.
  2. Busca la IP pública de la máquina en la que deseas ejecutar los comandos de la CLI de Airflow en tu entorno. Si usas Cloud Shell, usa dig para buscar la dirección IP externa de Cloud Shell:

    dig +short myip.opendns.com @resolver1.opendns.com
    
  3. Agrega la dirección externa de tu máquina a la lista de redes autorizadas de la instancia principal del clúster:

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

    Reemplaza lo siguiente:

    • EXISTING_AUTH_NETS con tu lista existente de redes autorizadas de instancia principal. Para buscar las redes autorizadas de la instancia principal, ejecuta el siguiente comando:

      gcloud container clusters describe GKE_CLUSTER \
          --format "flattened(masterAuthorizedNetworksConfig.cidrBlocks[])"
      
    • EXTERNAL_IP con la dirección IP externa de tu Cloud Shell o la IP pública de la máquina en la que deseas ejecutar los comandos de la CLI de Airflow

  4. Ejecuta los comandos de la CLI de Airflow en tu entorno de IP privada.

Comandos compatibles de la CLI de Airflow

Cloud Composer admite comandos de la CLI de Airflow basados en la versión de Airflow que se usa en tu entorno: