本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立產生執行階段環境變數的自訂外掛程式
以下範例將逐步引導您完成建立自訂外掛程式的步驟,以便在適用於 Apache Airflow 環境的 Amazon 受管工作流程上,在執行時期產生環境變數。
版本
-
此頁面上的示例代碼可以與 Python 3.7
中的阿帕奇氣流 V1 一起使用。
先決條件
若要使用此頁面上的範例程式碼,您必須準備好以下事項:
-
一個亞馬遜 MWAA 環境。
許可
-
使用此頁面上的程式碼範例不需要其他權限。
請求
-
若要將此程式碼範例與 Apache Airflow v1 搭配使用,不需要額外的相依性。此程式碼會在您的環境中使用 Apache 氣流 v1 基本安裝
。
自定義
阿帕奇氣流將在啟動時執行插件文件夾中的 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 ./
氣流
如果您使用的是 Apache 氣流 v2,請添加core.lazy_load_plugins : False
為 Apache 氣流配置選項。若要深入瞭解,請參閱使用設定選項載入外掛程式 2。
後續步驟?
-
在中了解如何將此範例中的
requirements.txt
檔案上傳到您的 Amazon S3 儲存貯體安裝 Python 相依性。 -
了解如何將此範例中的 DAG 程式碼上傳到的 Amazon S3 儲存貯體中的
dags
資料夾新增或更新 DAG。 -
在本範例中進一步了解如何將
plugins.zip
檔案上傳到中的 Amazon S3 儲存貯體安裝自定義插件。