ランタイム環境変数を生成するカスタムプラグインを作成します - Amazon Managed Workflows for Apache Airflow

ランタイム環境変数を生成するカスタムプラグインを作成します

次の例では、Amazon Managed Workflows for Apache Airflow 環境でランタイムに環境変数を生成するカスタムプラグインを作成する手順を説明します。

Version

  • このページのサンプルコードは、Python 3.7Apache Airflow v1 で使用できます。

前提条件

このページのサンプルコードを使用するには、以下が必要です。

アクセス許可

  • このページのコード例を使用する場合、追加のアクセス許可は必要ありません。

要件

カスタムプラグイン

Apache Airflow は、起動時にプラグインフォルダにある 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 を作成する方法を示しています。この例の内容は、他のプラグインやバイナリと組み合わせて 1 つの plugins.zip のファイルにすることができます。

  1. コマンドプロンプトで、前のステップの hive_plugin ディレクトリに移動します。例:

    cd plugins
  2. 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 フォルダにアップロードする方法については、DAG の追加と更新 を参照してください。

  • この例の plugins.zip ファイルを Amazon S3 バケットにアップロードする方法について詳しくは、カスタムプラグインのインストール をご覧ください。