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
- Tu cuenta debe tener una función que permita ver y modificar el contenido del bucket de tu entorno.
- Este método de instalación solo se aplica a los complementos de Airflow. Por ejemplo, no puedes usar este método para instalar módulos comunes de Python ni otras bibliotecas.
- Los complementos deben cumplir con lo siguiente: la plantilla de complementos de Airflow lineamientos.
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
En la consola de Google Cloud, ve a la página Entornos.
Busca tu entorno y sigue el vínculo de los DAG.
Sube un nivel de la carpeta y, luego, navega hacia la carpeta
plugins/
.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 entornoPATH_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 carpetaplugins
. De lo contrario, omite el argumento--destination
.
Cómo ver la lista de complementos
Console
En la consola de Google Cloud, ve a la página Entornos.
Busca tu entorno y sigue el vínculo de los DAG.
Sube un nivel de la carpeta y, luego, navega hacia la carpeta
plugins/
.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
En la consola de Google Cloud, ve a la página Entornos.
Busca tu entorno y sigue el vínculo de los DAG.
Sube un nivel de la carpeta y, luego, navega hacia la carpeta
plugins/
.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
En la consola de Google Cloud, ve a la página Entornos.
Busca tu entorno y sigue el vínculo de los DAG.
Sube un nivel de la carpeta y, luego, navega hacia la carpeta
plugins/
.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
Crea una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.software_config.web_server_plugins_mode
.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.
- Especifica
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.