安装自定义插件

通过 Apache Airflow 的插件管理器,您可以编写自定义的内部 Apache Airflow 运算符、钩子、传感器或接口。如需了解详情,请参阅 Airflow 文档中的自定义插件。本页面介绍如何在 Cloud Composer 环境中安装自定义插件。

当您创建环境时,Cloud Composer 会创建一个 Cloud Storage 存储分区,并该存储分区关联至您的环境。您可以使用关联存储分区中的 plugins 文件夹来安装自定义插件。如需确定与您的环境相关联的 Cloud Storage 存储分区,请参阅添加和更新 DAG

准备工作

  • 要在 Cloud Composer 环境的 Cloud Storage 存储分区中添加和更新插件,您需要具备以下权限
    • storage.objectAdmin(用于上传文件)。
    • composer.environments.get(用于查找 DAG 目标存储分区)。使用 Cloud Storage API 或 gsutil 时不需要这项权限。
  • 这种安装方法仅适用于 Airflow 插件。例如,您不能使用此方法来安装常用的 Python 模块或其他库。

  • 插件必须遵循 Airflow 插件模板准则。

安装插件

如需将自定义插件安装到您的 Cloud Composer 环境中,请将插件代码复制到 Cloud Composer 环境所关联 Cloud Storage 存储分区中的 plugins 文件夹。

要安装插件,请选择以下方式之一:

gcloud composer environments storage plugins import --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • PATH_TO_LOCAL_FILE 是要上传的文件的路径。
  • --destination 是一个选项,用于将插件上传到 plugins 文件夹中的一个子文件夹。PATH_IN_SUBFOLDER 是子文件夹路径,例如 foo/bar

查看插件列表

如需查看插件列表,请选择以下方式之一:

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

删除插件

如需从 Cloud Composer 环境中删除插件,请从 Cloud Composer 环境所关联 Cloud Storage 存储分区中的 plugins 文件夹中删除相应插件代码。

要删除插件,请选择以下方式之一:

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

下载插件

如需下载插件,请选择以下方式之一:

gcloud composer environments storage plugins export --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --destination PATH_TO_LOCAL_DESTINATION \
    --source PATH_IN_FOLDER

其中:

  • ENVIRONMENT_NAME 是环境的名称。
  • LOCATION 是环境所在的 Compute Engine 区域。
  • PATH_TO_LOCAL_DESTINATION 是所下载文件的目标位置。
  • --source 是一个选项,用于仅下载一个插件。PATH_IN_FOLDER 是文件夹路径,例如 /foo。

后续步骤