このページでは、Cloud Composer で使用されるパッチ適用済みの Apache Airflow コードを保存するリポジトリについて説明します。
リポジトリについて
Composer-Airflow リポジトリは、Cloud Composer で実行されるパッチ適用済みの Apache Airflow コードを含む読み取り専用リポジトリです。
Cloud Composer はパッチ適用済みの Airflow のバージョンを使用するため、Cloud Composer にある特定のバージョンの Apache Airflow は、上流の対応する Airflow のバージョンと常に完全一致するとは限りません。このリポジトリには、Cloud Composer で使用されるすべてのパッチ適用済み Airflow バージョンのコードが含まれています。Cloud Composer で使用される Airflow のバージョンについては、Cloud Composer のバージョン リストをご覧ください。
貢献
このコードは Apache Airflow のフォークではありません。このリポジトリにあるコードは Apache Airflow リポジトリから直接取得されますが、通常の Apache Airflow リリースとは異なるタイムラインで行われます。
このコードベースに貢献する場合は、代わりに Airflow に直接貢献してください。pull リクエストは受け入れられないため、このリポジトリでは行わないでください。
問題とサポート
- このリポジトリにあるコードに問題がある場合は、Airflow リポジトリで直接問題を作成できます。
- Cloud Composer に関する問題については、Cloud Composer サポート チャネルを使用してください。
リポジトリの操作
このリポジトリには、Cloud Composer で使用可能な Airflow のバージョンごとに 1 つのブランチがあります。Cloud Composer でサポートされている Airflow のバージョンは限られています。特定の Cloud Composer バージョンでサポートされている Airflow のバージョンについては、Cloud Composer のバージョン リストをご覧ください。
使用例
このセクションでは、リポジトリの使用例を示します。
お使いの Cloud Composer のバージョンの Airflow リポジトリからの commit ですか?
Composer-Airflow リポジトリの commit の SHA1 は、アップストリーム Airflow リポジトリの commit SHA1 に対応していません。特定の commit を検索する方法の一つは、対応する commit メッセージを検索することです。
GitHub UI を使用して、デフォルト ブランチ以外のブランチで commit メッセージを検索することはできませんが、git
CLI を使用すると検索できます。このリポジトリ内の特定の commit を検索するには、git
がインストールされている必要があります。
git
CLI を使用して commit メッセージを検索するには:
次のコマンドを使用して、リポジトリのクローンを作成しリポジトリ ディレクトリに移動します。
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow
commit メッセージを検索します。
git log --source --grep="COMMIT_MESSAGE" --all
コマンドの内容:
--source
は、commit が見つかったブランチを示します--grep
は、ログを検索する必要があるメッセージを指定します。--all
はすべてのブランチを検索します。
ブランチは、すべての結果の最初の行の commit ハッシュの横にあります。コマンドが commit を返した場合は、それが Cloud Composer のバージョンであることを意味します。また、環境内の Airflow のバージョンがブランチのバージョンよりも新しい場合、その commit はお使いの環境の Airflow バージョンで使用されます。
たとえば、commit メッセージ Force explicit choice on GPL dependency
を検索する場合、コマンドは次のようになります。
git log --source --grep="Force explicit choice on GPL dependency" --all
一致する commit がある場合、結果は次の出力例のようになります。複数の結果が返される場合があります。
commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/<strong>1.10.2</strong>
Author: example_airflow_committer <example_airflow_committer@users.noreply.github.com>
Date: Wed Aug 1 11:25:31 2018 +0200
[AIRFLOW-2817] Force explicit choice on GPL dependency (#3660)
By default one of Apache Airflow's dependencies pulls in a GPL
library. Airflow should not install (and upgrade) without an explicit choice.
This is part of the Apache requirements as we cannot depend on Category X
software.
(cherry picked from commit c37fc0b6ba19e3fe5656ae37cef9b59cef3c29e8)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
(cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be
現在利用しているバージョンの Cloud Composer で、この Airflow 演算子はどのように見えますか?
Airflow オペレーターと付随するコードは、プロバイダ パッケージと呼ばれる PyPI パッケージのコア Airflow とは別にパッケージ化され、リリースされます。
これらのパッケージの一部は、Cloud Composer にデフォルトでインストールされています。環境にインストールされているバージョンを確認するには、バージョン リストで、環境のバージョンの Cloud Composer のパッケージのリストを参照します。
GitHub UI
特定のプロバイダ パッケージ バージョンのオペレータのコードを確認するには:
アップストリーム Airflow リポジトリに移動します。
GitHub の検索バーに、検索する演算子の名前を入力します。
複数のファイルが返された場合は、パスが
airflow/providers
で始まるコードファイルをクリックします。たとえば、
GoogleCloudStorageCreateBucketOperator
を検索する場合は、airflow/providers/google/cloud/operators/gcs.py
を選択します。ブランチ セレクタをクリックすると、[ブランチ/タグを切り替える] プルダウン リストが開きます。
[タグ] タブをクリックします。
providers
パッケージの場合は、プルダウン リストの検索バーにproviders-PROVIDER_NAME/PROVIDER_VERSION
と入力して、プロバイダの名前とバージョンを検索します。ここで、PROVIDER_NAME
はプロバイダの名前、PROVIDER_VERSION
は検索するバージョンの名前です。たとえば、
apache-airflow-providers-google
パッケージのバージョン10.0.0
を確認するには、providers-google/10.0.0
を検索します。Airflow 1 で使用される
backport-providers
パッケージの場合は、プルダウン リストの検索バーでbackport-providers-PROVIDER_VERSION
を検索します。たとえば、
apache-airflow-backport-providers-google
パッケージのバージョン2021.3.3
を表示するには、backport-providers-2021.3.3
を検索します。クエリに一致する結果をクリックします。
画面上のコードは、その演算子のバージョンで実行されているものです。[履歴] をクリックすると、現時点までの commit の履歴を確認できます。
git CLI
特定のプロバイダ パッケージ バージョンのオペレータのコードを確認するには:
アップストリーム Airflow リポジトリのクローンを作成します。
providers
パッケージの場合は、git checkout providers-PROVIDER_NAME/PROVIDER_VERSION
を実行します。ここで、PROVIDER_NAME
はプロバイダの名前、PROVIDER_VERSION
は確認しようとしているバージョンの名前です。たとえば、
apache-airflow-providers-google
パッケージのバージョン10.0.0
を確認するには、git checkout providers-google/10.0.0
を実行します。Airflow 1 で使用される
backport-providers
パッケージの場合は、git checkout backport-providers-PROVIDER_VERSION
を実行します。たとえば、
apache-airflow-backport-providers-google
パッケージのバージョン2021.3.3
を確認するには、git checkout backport-providers-2021.3.3
を実行します。オペレータのファイルパスがわからない場合は、
git grep
コマンドを使用して検索できます。次の例は、GoogleCloudStorageCreateBucketOperator を検索する方法を示しています。git grep GoogleCloudStorageCreateBucketOperator
出力は、文字列(この場合はオペレータの名前)を確認できるファイルのリストです。このリストからファイルに移動し、その内容を詳しく調べます。
airflow/contrib/operators/gcs_operator.py:class GoogleCloudStorageCreateBucketOperator(BaseOperator): airflow/contrib/operators/gcs_operator.py: CreateBucket = GoogleCloudStorageCreateBucketOperator( airflow/contrib/operators/gcs_operator.py: super( GoogleCloudStorageCreateBucketOperator, self).__init__(*args, **kwargs) docs/code.rst:.. autoclass:: airflow.contrib.operators.gcs_operator.Google CloudStorageCreateBucketOperator docs/integration.rst:- :ref:`GoogleCloudStorageCreateBucketOperator` : Creates a new cloud storage bucket. docs/integration.rst:.. _GoogleCloudStorageCreateBucketOperator: docs/integration.rst:GoogleCloudStorageCreateBucketOperator docs/integration.rst:.. autoclass:: airflow.contrib.operators.gcs_operator .GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py:from airflow.contrib.operators.gcs_operator import GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py: operator = GoogleCloudStorageCreateBucketOperator(
次のステップ
- Composer ローカル開発 CLI ツールを使用してローカルの Airflow 環境を実行する