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
フォルダにコピーします。
プラグインをインストールするには、次のいずれかの方法を選択してください。
- Cloud Console の Cloud Storage ブラウザを使用します。
- 次の
gcloud
コマンドを使用します。
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
などのサブフォルダ パスです。
プラグインのリストを表示する
プラグインのリストを表示するには、次のいずれかの方法を選択してください。
- Cloud Console の Cloud Storage ブラウザを使用します。
- 次の
gcloud
コマンドを使用します。VARIABLES は適切な値に置き換えます。
gcloud composer environments storage plugins list --environment ENVIRONMENT_NAME \ --location LOCATION
プラグインを削除する
Cloud Composer 環境からプラグインを削除するには、Cloud Composer 環境に接続されている Cloud Storage バケットの plugins
フォルダからプラグイン コードを削除します。
プラグインを削除するには、次のいずれかの方法を選択してください。
- Cloud Console の Cloud Storage ブラウザを使用します。
- 次の
gcloud
コマンドを使用します。VARIABLES は適切な値に置き換えます。
gcloud composer environments storage plugins delete --environment ENVIRONMENT_NAME \ --location LOCATION PLUGIN_TO_DELETE
プラグインをダウンロードする
プラグインをダウンロードするには、次のいずれかの方法を選択してください。
- Cloud Console の Cloud Storage ブラウザを使用します。
- 次の
gcloud
コマンドを使用します。
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
は、1 つのプラグインだけをダウンロードするためのオプションです。PATH_IN_FOLDER
は、/foo などのフォルダパスです。