Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se describe cómo instalar complementos personalizados en tu entorno de Cloud Composer.
El gestor de complementos de Apache Airflow te permite escribir operadores, ganchos, sensores o interfaces de Apache Airflow internos personalizados. Para obtener más información, consulta los plugins personalizados en la documentación de Airflow.
Acerca de los complementos personalizados
Cuando creas un entorno, Cloud Composer crea un segmento de Cloud Storage y lo asocia a tu entorno. Usa la carpeta plugins
del bucket de tu entorno para instalar complementos personalizados.
Antes de empezar
- Tu cuenta debe tener un rol que permita ver y modificar el contenido del segmento de tu entorno.
- Este método de instalación solo se aplica a los plugins de Airflow. Por ejemplo, no puedes usar este método para instalar módulos de Python comunes u otras bibliotecas.
- Los complementos deben cumplir las directrices de la plantilla de complementos de Airflow.
Instalar un complemento
Para instalar un complemento personalizado en tu entorno de Cloud Composer, copia el código del complemento en la carpeta plugins
del bucket de tu entorno.
Para instalar un complemento, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Entornos.
Busca tu entorno y sigue el enlace DAGs.
Sube un nivel de carpeta y, a continuación, ve a la carpeta
plugins/
.Sube los archivos del complemento. Para obtener más información sobre cómo subir objetos, consulta Subir objetos.
gcloud
Usa el siguiente comando gcloud
:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.PATH_TO_LOCAL_FILE
con la ruta del archivo que quieras subir.- (Opcional)
PATH_IN_SUBFOLDER
con la ruta de la subcarpeta. Usa el argumento--destination
para subir un complemento a una subcarpeta de la carpetaplugins
. De lo contrario, omite el argumento--destination
.
Ver la lista de complementos
Consola
En la Google Cloud consola, ve a la página Entornos.
Busca tu entorno y sigue el enlace DAGs.
Sube un nivel de carpeta y, a continuación, ve a la carpeta
plugins/
.Ver los archivos del complemento.
gcloud
Usa el siguiente comando gcloud
:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.
Eliminar un complemento
Para eliminar un complemento de tu entorno de Cloud Composer, elimina el código del complemento de la carpeta plugins
del bucket del entorno.
Para eliminar un complemento, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Entornos.
Busca tu entorno y sigue el enlace DAGs.
Sube un nivel de carpeta y, a continuación, ve a la carpeta
plugins/
.Elimina los archivos del complemento. Para obtener más información sobre cómo eliminar objetos, consulta Eliminar objetos.
gcloud
Usa el siguiente comando gcloud
:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Descargar complementos
Para descargar complementos, elige una opción:
Consola
En la Google Cloud consola, ve a la página Entornos.
Busca tu entorno y sigue el enlace DAGs.
Sube un nivel de carpeta y, a continuación, ve a la carpeta
plugins/
.Descarga los archivos del complemento. Para obtener más información sobre cómo eliminar objetos, consulta Descargar objetos.
gcloud
Usa el siguiente comando gcloud
:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.PATH_TO_LOCAL_DESTINATION
con el destino del archivo descargado.- (Opcional)
--source
es una opción para descargar solo un complemento.PATH_IN_FOLDER
es la ruta de la carpeta.
Inhabilitar complementos del servidor web
En Cloud Composer 3, si tienes problemas con la interfaz de usuario de Airflow, puedes inhabilitar los complementos del servidor web sin tener que eliminarlos del segmento del entorno.
gcloud
Los siguientes argumentos de Google Cloud CLI habilitan e inhabilitan los complementos del servidor web:
--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 de la CLI de Google Cloud:
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 de la CLI de Google Cloud:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Haz los cambios siguientes:
ENVIRONMENT_NAME
: el nombre del entornoLOCATION
: la región en la que se encuentra el entorno
API
Crea una solicitud de la API
environments.patch
.En esta solicitud:
En el parámetro
updateMask
, especifique la máscaraconfig.software_config.web_server_plugins_mode
.En el cuerpo de la solicitud, en el campo
web_server_plugins_mode
:- Especifica
PLUGINS_DISABLED
para inhabilitar los complementos del servidor web. - Especifica
PLUGINS_ENABLED
para habilitar los complementos del servidor web.
- Especifica
Ejemplo (inhabilitar 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 (habilitar 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"
}
}
Solucionar problemas con los complementos
Los complementos causan problemas con la interfaz de Airflow
Puedes inhabilitar los complementos del servidor web sin eliminarlos. Para obtener más información, consulta Inhabilitar complementos de servidor web.
Un complemento recién subido no se ve en la interfaz de usuario de Airflow
Si usas Control de acceso a la interfaz de Airflow, es posible que el complemento que acabas de subir no se vea en la interfaz de Airflow. Para solucionar este problema, pide al administrador de la interfaz de usuario de Airflow que configure el acceso al complemento que acabas de subir o asígnate el rol Admin
en la interfaz de usuario de Airflow.