本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建生成运行时环境变量的自定义插件
以下示例将引导您完成创建自定义插件的步骤,该插件可在运行时在 Amazon MWAA 环境中生成环境变量。
版本
-
本页上的示例代码可与 Python 3.7
中的 Apache Airflow v1 一起使用。
先决条件
要使用本页上的示例代码,您需要以下内容:
权限
-
无需其他权限即可使用本页上的代码示例。
要求
-
要在 Apache Airflow v1 中使用此代码示例,无需附加依赖项。该代码在环境中使用 Apache Airflow v1 基础版安装
。
自定义插件
Apache Airflow 将在启动时执行插件文件夹中的 Python 文件内容。这用于设置和修改环境变量。以下步骤介绍了此自定义插件的示例代码。
-
在命令提示符下,导航到存储插件的目录。例如:
cd plugins
-
复制以下代码示例的内容,并将其本地另存为
env_var_plugin.py
,保存在以上文件夹中。from airflow.plugins_manager import AirflowPlugin import os os.environ["PATH"] = os.getenv("PATH") + ":/usr/local/airflow/.local/lib/python3.7/site-packages" os.environ["JAVA_HOME"]="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.amzn2.0.1.x86_64" class EnvVarPlugin(AirflowPlugin): name = 'env_var_plugin'
Plugins.zip
以下步骤显示如何创建 plugins.zip
。此示例的内容可以与其他插件和二进制文件组合成一个 plugins.zip
文件。
-
在命令提示符下,导航到上一步中的
hive_plugin
目录。例如:cd plugins
-
将内容压缩到
plugins
文件夹中。zip -r ../plugins.zip ./
Airflow 配置选项
如果您使用的是 Apache Airflow v2,请添加 core.lazy_load_plugins : False
为 Apache Airflow 配置选项。要了解更多信息,请参阅 2 中的使用配置选项加载插件。
接下来做什么?
-
要了解如何将本示例中的
requirements.txt
文件上传到 Amazon S3 存储桶,请参阅 安装 Python 依赖项。 -
要了解如何将本示例中的 DAG 代码上传到 Amazon S3 存储桶的
dags
文件夹,请参阅 添加或更新 DAGs。 -
要了解如何将本示例中的
plugins.zip
文件上传到 Amazon S3 存储桶,请参阅 安装自定义插件。