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 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.
Acerca de los complementos personalizados
Cuando creas un entorno, Cloud Composer crea un bucket de Cloud Storage y lo asocia a tu entorno. Usa la carpeta plugins en el bucket de tu entorno para instalar los 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 los lineamientos de la plantilla de complementos de Airflow.
Cloud Composer 3 no admite complementos personalizados para el programador de Airflow ni el activador de Airflow. Los complementos no se sincronizan con estos componentes de tu entorno. Esto incluye las funciones de Airflow que dependen de complementos, como los TimeTables personalizados y los detectores a nivel del DAG. Se admiten los objetos de escucha a nivel de la tarea y las TimeTables integradas.
Instala 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, 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_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.PATH_TO_LOCAL_FILEpor la ruta del archivo que se va a subir.PATH_IN_SUBFOLDERpor la ruta de la subcarpeta (opcional). Usa el argumento--destinationpara 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_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.
Cómo borrar 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 Borra objetos.
gcloud
Usa el siguiente comando de gcloud:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Descarga 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_NAMEpor el nombre del entorno.LOCATIONpor la región en la que se encuentra el entorno.PATH_TO_LOCAL_DESTINATIONpor el destino del archivo descargado--sourcees una opción para descargar solo un complemento.PATH_IN_FOLDERes 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 del bucket del entorno.
gcloud
Los siguientes argumentos de Google Cloud CLI inhabilitan y habilitan 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 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 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_DISABLEDpara inhabilitar los complementos del servidor web. - Especifica
PLUGINS_ENABLEDpara 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"
}
}
Soluciona problemas relacionados con 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 complementos del servidor web.
No se ve un complemento recién subido en la IU de Airflow
Si usas el control de acceso a la IU de Airflow, es posible que el complemento que se subió recientemente no se vea en la IU de Airflow. Para solucionar este problema, pídele al administrador de la IU de Airflow que configure el acceso al complemento recién subido o asígnate el rol de Admin en la IU de Airflow.