Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, descrevemos como instalar plug-ins personalizados no Cloud Composer. de nuvem.
O gerenciador de plug-ins do Apache Airflow permite que você crie operadores, hooks, sensores ou interfaces internos personalizados do Apache Airflow. Para mais informações, consulte plug-ins personalizados (link em inglês) na documentação do Airflow.
Sobre plug-ins personalizados
Quando você cria um ambiente, o Cloud Composer
cria um bucket do Cloud Storage e o associa a ele. Você usa a pasta plugins
na sua
para instalar plug-ins personalizados.
Antes de começar
- Sua conta precisa ter um papel que permita a visualização e a modificação do conteúdo do bucket do ambiente.
- Este método de instalação se aplica apenas aos plug-ins do Airflow (em inglês). Por exemplo, não pode usar esse método para instalar módulos comuns do Python ou outras bibliotecas.
- Os plug-ins precisam estar em conformidade com as diretrizes do modelo de plug-ins do Airflow (em inglês).
Instalar um plug-in
Para instalar um plug-in personalizado no ambiente do Cloud Composer,
copie o código do plug-in para a pasta plugins
no bucket do ambiente.
Para instalar um plug-in:
Console
No console do Google Cloud, acesse a página Ambientes.
Encontre seu ambiente e siga o link DAGs.
Vá para um nível acima da pasta e navegue até a pasta
plugins/
.Faça upload dos arquivos de plug-in. Para mais informações sobre como fazer upload de objetos, consulte Como fazer upload de objetos.
gcloud
Use o seguinte comando gcloud
:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;PATH_TO_LOCAL_FILE
pelo caminho do arquivo para upload;- (Opcional)
PATH_IN_SUBFOLDER
pelo caminho da subpasta. Use o argumento--destination
para fazer upload de um plug-in para uma subpasta na pastaplugins
. Caso contrário, omita o argumento--destination
.
Ver a lista de plug-ins
Console
No console do Google Cloud, acesse a página Ambientes.
Encontre seu ambiente e siga o link DAGs.
Vá para um nível acima da pasta e navegue até a pasta
plugins/
.Veja os arquivos do plug-in.
gcloud
Use o seguinte comando gcloud
:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;
Excluir um plug-in
Para excluir um plug-in do ambiente do Cloud Composer, exclua o código do plug-in da pasta plugins
no bucket do ambiente.
Para excluir um plug-in:
Console
No console do Google Cloud, acesse a página Ambientes.
Encontre seu ambiente e siga o link DAGs.
Vá para um nível acima da pasta e navegue até a pasta
plugins/
.Exclua os arquivos do plug-in. Para mais informações sobre como excluir objetos, consulte Como excluir objetos.
gcloud
Use o seguinte comando gcloud
:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Fazer o download de plug-ins
Para fazer o download de plug-ins, escolha uma opção a seguir:
Console
No console do Google Cloud, acesse a página Ambientes.
Encontre seu ambiente e siga o link DAGs.
Vá para um nível acima da pasta e navegue até a pasta
plugins/
.Faça o download dos arquivos de plug-in. Para mais informações sobre como excluir objetos, consulte Como fazer o download de objetos.
gcloud
Use o seguinte comando gcloud
:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;PATH_TO_LOCAL_DESTINATION
pelo destino do arquivo salvo.- (Opcional)
--source
é uma opção para fazer o download de apenas um plug-in;PATH_IN_FOLDER
é o caminho da pasta.
Desativar plug-ins do servidor da Web
No Cloud Composer 3, se você tiver problemas com a interface do Airflow, poderá desativar os plug-ins do servidor da Web sem precisar removê-los do bucket do ambiente.
gcloud
Os seguintes argumentos da Google Cloud CLI desativam e ativam o servidor da Web plugins:
--no-support-web-server-plugins
: desativar plug-ins do servidor da Web--support-web-server-plugins
: ativar plug-ins do servidor da Web.
Para desativar plug-ins do servidor da Web, execute o seguinte Comando da Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Para ativar os plug-ins do servidor da Web, execute o seguinte Comando da Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Substitua:
ENVIRONMENT_NAME
: o nome do ambienteLOCATION
: a região em que o ambiente está localizado.
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.software_config.web_server_plugins_mode
.No corpo da solicitação, no campo
web_server_plugins_mode
:- Especifique
PLUGINS_DISABLED
para desativar os plug-ins do servidor da Web. - Especifique
PLUGINS_ENABLED
para ativar os plug-ins do servidor da Web.
- Especifique
Exemplo (desativar plug-ins):
// 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"
}
}
Exemplo (ativar plug-ins):
// 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"
}
}
Resolver problemas com plug-ins
Plug-ins causam problemas na interface do Airflow
É possível desativar os plug-ins do servidor da Web sem excluí-los. Para mais informações, consulte Desativar plug-ins do servidor da Web.
Um plug-in recém-enviado não está visível na interface do Airflow
Se você usar o controle de acesso da interface do Airflow, o plug-in recém-carregado
pode não ficar visível na interface do Airflow. Para resolver esse problema, peça ao administrador da interface do Airflow para configurar o acesso ao plug-in recém-enviado ou atribua a si mesmo o papel Admin
na interface do Airflow.