建立產生執行階段環境變數的自訂外掛程式 - Amazon Managed Workflows for Apache Airflow

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立產生執行階段環境變數的自訂外掛程式

以下範例將逐步引導您完成建立自訂外掛程式的步驟,以便在適用於 Apache Airflow 環境的 Amazon 受管工作流程上,在執行時期產生環境變數。

版本

  • 此頁面上的示例代碼可以與 Python 3.7 中的阿帕奇氣流 V1 一起使用。

先決條件

若要使用此頁面上的範例程式碼,您必須準備好以下事項:

許可

  • 使用此頁面上的程式碼範例不需要其他權限。

請求

  • 若要將此程式碼範例與 Apache Airflow v1 搭配使用,不需要額外的相依性。此程式碼會在您的環境中使用 Apache 氣流 v1 基本安裝

自定義

阿帕奇氣流將在啟動時執行插件文件夾中的 Python 文件的內容。這是用來設置和修改環境變量。下列步驟說明下列步驟。

  1. 在命令提示中,導航到外掛程式的目錄。例如:

    cd plugins
  2. 複製下列程式碼範例的內容,並在上述資料夾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文件。

  1. 在命令提示中,導覽hive_plugin至上一個步驟。例如:

    cd plugins
  2. 壓縮文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 儲存貯體安裝自定義插件