Instale plug-ins personalizados

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página descreve como instalar plug-ins personalizados no seu ambiente do Cloud Composer.

O gestor de plug-ins do Apache Airflow permite-lhe escrever operadores, hooks, sensores ou interfaces do Apache Airflow personalizados. Para mais informações, consulte os plug-ins personalizados na documentação do Airflow.

Acerca dos plug-ins personalizados

Quando cria um ambiente, o Cloud Composer cria um contentor do Cloud Storage e associa este contentor ao seu ambiente. Use a pasta plugins no contentor do seu ambiente para instalar plug-ins personalizados.

Antes de começar

  • A sua conta tem de ter uma função que permita ver e modificar o conteúdo do contentor do seu ambiente.
  • Este método de instalação aplica-se apenas a plug-ins do Airflow. Por exemplo, não pode usar este método para instalar módulos Python comuns ou outras bibliotecas.
  • Os plugins têm de estar em conformidade com as diretrizes do modelo de plugins do Airflow.

Instale um plugin

Para instalar um plug-in personalizado no seu ambiente do Cloud Composer, copie o código do plug-in para a pasta plugins no contentor do seu ambiente.

Para instalar um plugin:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Encontre o seu ambiente e siga o link DAGs.

  3. Suba um nível de pastas e, em seguida, navegue para a pasta plugins/.

  4. Carregue os ficheiros do plug-in. Para mais informações sobre o carregamento de objetos, consulte o artigo Carregar 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

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.
  • PATH_TO_LOCAL_FILE com o caminho do ficheiro a carregar.
  • (Opcional) PATH_IN_SUBFOLDER com o caminho da subpasta. Use o argumento --destination para carregar um plugin para uma subpasta na pasta plugins. Caso contrário, omita o argumento --destination.

Veja a lista de plug-ins

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Encontre o seu ambiente e siga o link DAGs.

  3. Suba um nível de pastas e, em seguida, navegue para a pasta plugins/.

  4. Veja os ficheiros do plug-in.

gcloud

Use o seguinte comando gcloud:

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

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.

Elimine um plugin

Para eliminar um plug-in do seu ambiente do Cloud Composer, elimine o código do plug-in da pasta plugins no contentor do ambiente.

Para eliminar um plugin:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Encontre o seu ambiente e siga o link DAGs.

  3. Suba um nível de pastas e, em seguida, navegue para a pasta plugins/.

  4. Elimine os ficheiros do plug-in. Para mais informações sobre a eliminação de objetos, consulte o artigo Eliminar objetos.

gcloud

Use o seguinte comando gcloud:

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

Transfira plug-ins

Para transferir plug-ins, escolha uma opção:

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Encontre o seu ambiente e siga o link DAGs.

  3. Suba um nível de pastas e, em seguida, navegue para a pasta plugins/.

  4. Transfira os ficheiros do plugin. Para mais informações sobre a eliminação de objetos, consulte o artigo Transferir 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

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.
  • PATH_TO_LOCAL_DESTINATION com o destino do ficheiro transferido.
  • (Opcional) --source é uma opção para transferir apenas um plugin. PATH_IN_FOLDER é o caminho da pasta.

Desative os plug-ins do servidor Web

No Cloud Composer 3, se tiver problemas com a IU do Airflow, pode desativar os plug-ins do servidor Web sem ter de os remover do contentor do ambiente.

gcloud

Os seguintes argumentos da CLI gcloud desativam e ativam os plug-ins do servidor Web:

  • --no-support-web-server-plugins: desative os plug-ins do servidor Web
  • --support-web-server-plugins: ative os plug-ins do servidor Web

Para desativar os plug-ins do servidor Web, execute o seguinte comando da CLI gcloud:

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

Para ativar os plug-ins do servidor Web, execute o seguinte comando da CLI gcloud:

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

Substitua o seguinte:

  • ENVIRONMENT_NAME: o nome do ambiente
  • LOCATION: a região onde o ambiente está localizado

API

  1. Crie um pedido de API environments.patch.

  2. Neste pedido:

    1. No parâmetro updateMask, especifique a máscara config.software_config.web_server_plugins_mode.

    2. No corpo do pedido, no campo web_server_plugins_mode:

      • Especifique PLUGINS_DISABLED para desativar os plug-ins do servidor Web.
      • Especifique PLUGINS_ENABLED para ativar os plug-ins do servidor Web.

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"
   }
}

Resolva problemas de plug-ins

Os plugins causam problemas com a IU do Airflow

Pode desativar plug-ins do servidor Web sem os eliminar. Para mais informações, consulte o artigo Desative os plug-ins do servidor Web.

Um plugin carregado recentemente não está visível na IU do Airflow

Se usar o controlo de acesso da IU do Airflow, o plug-in carregado recentemente pode não estar visível na IU do Airflow. Para resolver este problema, peça ao administrador da IU do Airflow para configurar o acesso ao plug-in carregado recentemente ou atribua a si próprio a função Admin na IU do Airflow.

O que se segue?