Instalar complementos personalizados

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se describe cómo instalar complementos personalizados en tu entorno de Cloud Composer.

El administrador de complementos de Apache Airflow te permite escribir operadores internos, hooks, sensores o interfaces personalizados de Apache Airflow. Para obtener más información, consulta los complementos personalizados en la documentación de Airflow.

Información acerca de los complementos personalizados

Cuando creas un entorno, Cloud Composer crea un bucket de Cloud Storage y lo asocia bucket con tu entorno. Usa la carpeta plugins en el bucket de tu entorno para instalar complementos personalizados.

Antes de comenzar

Instala un complemento

Para instalar un complemento personalizado en tu entorno de Cloud Composer, sigue estos pasos: Copia el código del complemento en la carpeta plugins del bucket de tu entorno.

Para instalar un complemento, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. Busca tu entorno y sigue el vínculo de los DAG.

  3. Sube un nivel de la carpeta y, luego, navega hacia la carpeta plugins/.

  4. Sube los archivos de complementos. Para obtener más información sobre cómo subir objetos, consulta Sube objetos.

gcloud

Usa el siguiente comando de gcloud:

gcloud composer environments storage plugins import \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno
  • PATH_TO_LOCAL_FILE por la ruta del archivo que se va a subir.
  • PATH_IN_SUBFOLDER por la ruta de la subcarpeta (opcional). Usa el argumento --destination para subir un complemento a una subcarpeta de la carpeta plugins. De lo contrario, omite el argumento --destination.

Cómo ver la lista de complementos

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. Busca tu entorno y sigue el vínculo de los DAG.

  3. Sube un nivel de la carpeta y, luego, navega hacia la carpeta plugins/.

  4. Visualiza los archivos del complemento.

gcloud

Usa el siguiente comando de gcloud:

gcloud composer environments storage plugins list \
    --environment ENVIRONMENT_NAME \
    --location LOCATION

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno

Borra un complemento

Para borrar un complemento de tu entorno de Cloud Composer, borra el código del complemento de la carpeta plugins en el bucket del entorno.

Para borrar un complemento, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. Busca tu entorno y sigue el vínculo de los DAG.

  3. Sube un nivel de la carpeta y, luego, navega hacia la carpeta plugins/.

  4. Borra los archivos del complemento. Para obtener más información sobre cómo borrar objetos, consulta Cómo borrar objetos.

gcloud

Usa el siguiente comando de gcloud:

gcloud composer environments storage plugins delete \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    PLUGIN_TO_DELETE

Descargar complementos

Para descargar complementos, elige una opción:

Console

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. Busca tu entorno y sigue el vínculo de los DAG.

  3. Sube un nivel de la carpeta y, luego, navega hacia la carpeta plugins/.

  4. Descarga los archivos del complemento. Para obtener más información sobre cómo borrar objetos, consulta Descarga objetos.

gcloud

Usa el siguiente comando de gcloud:

gcloud composer environments storage plugins export \
  --environment ENVIRONMENT_NAME \
  --location LOCATION \
  --destination PATH_TO_LOCAL_DESTINATION \
  --source PATH_IN_FOLDER

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME por el nombre del entorno.
  • LOCATION por la región en la que se encuentra el entorno.
  • PATH_TO_LOCAL_DESTINATION por el destino del archivo descargado
  • --source es una opción para descargar solo un complemento. PATH_IN_FOLDER es la ruta de la carpeta.

Inhabilita los complementos del servidor web

En Cloud Composer 3, si tienes problemas con la IU de Airflow, puedes inhabilitar los complementos del servidor web sin tener que quitarlos de la en el bucket de tu entorno.

gcloud

Los siguientes argumentos de Google Cloud CLI inhabilitan y habilitan el servidor web plugins:

  • --no-support-web-server-plugins: Inhabilita los complementos del servidor web.
  • --support-web-server-plugins: Habilita los complementos del servidor web.

Para inhabilitar los complementos del servidor web, ejecuta el siguiente comando: Comando de Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --no-support-web-server-plugins

Para habilitar los complementos del servidor web, ejecuta el siguiente comando: Comando de Google Cloud CLI:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --support-web-server-plugins

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre del entorno.
  • LOCATION: Es la región en la que se encuentra el entorno.

API

  1. Crea una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica la máscara config.software_config.web_server_plugins_mode.

    2. En el cuerpo de la solicitud, en el campo web_server_plugins_mode, haz lo siguiente:

      • Especifica PLUGINS_DISABLED para inhabilitar los complementos del servidor web.
      • Especifica PLUGINS_ENABLED para habilitar los complementos del servidor web.

Ejemplo (inhabilita los complementos):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_DISABLED"
   }
}

Ejemplo (habilita complementos):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_ENABLED"
   }
}

Soluciona problemas de complementos

Los complementos causan problemas con la IU de Airflow

Puedes inhabilitar los complementos del servidor web sin borrarlos. Para obtener más información, consulta Cómo inhabilitar los complementos del servidor web.

Un complemento recién subido no es visible en la IU de Airflow

Si usas el control de acceso a la IU de Airflow, el sistema es posible que el complemento subido no sea visible en la IU de Airflow. Para abordar este problema, pregunta Administrador de IU de Airflow para configurar el acceso al complemento recién subido o asignarte el rol Admin en la IU de Airflow.

¿Qué sigue?