Composer-Airflow リポジトリ

リポジトリについて

Composer-Airflow リポジトリは、Cloud Composer で実行されているパッチ適用済みの Apache Airflow コードを含む読み取り専用リポジトリです。参照として使用し、ローカルでのテストや開発のために使用できます。

Cloud Composer にある Apache Airflow の特定のバージョンは、アップストリームの Airflow の対応するバージョンと完全には一致しない場合があります。これは、Cloud Composer では Airflow のパッチ適用済みバージョンが使用されるためです。このリポジトリには、Cloud Composer で使用される Airflow のパッチ適用済みバージョンのコードが格納されます。Cloud Composer に含まれる Airflow のバージョンについては、Cloud Composer のバージョン リストをご覧ください。

貢献

このコードは Apache Airflow のフォークではありません。このリポジトリにあるコードは Apache Airflow リポジトリから直接取得されますが、通常の Apache Airflow リリースとは異なるタイムラインで行われます。このコードベースに貢献する場合は、ここで行わないでください。pull リクエストはこのリポジトリで受け入れられないため、代わりに Airflow に直接提供する必要があります。

問題とサポート

このリポジトリで見つかったコードに問題がある場合は、Airflow のバグレポートの手順に従ってください。Cloud Composer に問題がある場合は、Cloud Composer のサポート チャネルを使用してください。

リポジトリには、Cloud Composer で利用可能な Airflow のバージョンごとに 1 つのブランチがあります。すべてのバージョンの Airflow が Cloud Composer でサポートされているわけではありません。バージョン サポートについては、Cloud Composer のバージョニングをご覧ください。

使用例

お使いの Cloud Composer のバージョンの Airflow リポジトリからの commit ですか?

composer-airflow リポジトリの commit SHA1 はアップストリーム Airflow リポジトリの commit SHA1 に対応していません。つまり、特定の commit を検索するには、対応する commit メッセージを返します。

現在、GitHub UI を使用して、デフォルト ブランチ以外のブランチの commit メッセージを検索することはできませんが、git CLI を使用して commit することはできます。このリポジトリ内の特定の commit を検索するには、git がインストールされている必要があります。

  1. 次のコマンドを使用して、リポジトリのクローンを作成し、リポジトリ ディレクトリに移動します。
    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && cd composer-airflow
  2. commit メッセージを検索します。

    git log --source --grep="COMMIT_MESSAGE" --all

    ここで

    • --source は、commit が見つかったブランチを示します。
    • --grep は、ログを検索するメッセージを git に指示します。
    • --all は、git にすべてのブランチを検索するように指示します
  3. ブランチは、すべての結果の最初の行の commit ハッシュの横にあります。コマンドから commit が返された場合、Cloud Composer のバージョン内にあることを意味します。また、環境内の Airflow のバージョンがブランチ バージョンより新しい場合は、環境の Airflow バージョンで commit が使用されます。

たとえば、commit メッセージ「Force 明示的な choice on GPL 依存関係」を検索する場合、コマンドは次のようになります。

    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

Composer バージョンのこの Operator はどのようなものですか?

providers パッケージを使用していない場合

特定の演算子(GoogleCloudStorageCreateBucketOperator など)のファイルパスがわかっている場合は、GitHub UI または CLI を使用してそれに移動します。

ファイルパスがわからない場合は、次のコマンドで検索できます。

    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.GoogleCloudStorageCreateBucketOperator
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(

providers パッケージを使用している場合

特定のバージョンの Airflow 1.10.x 以降では、特定のオペレータと付随するコードが「バックポート プロバイダ パッケージ」(Airflow 1.10.x)または「プロバイダパッケージ」(Airflow 2.0 以降)と呼ばれる PyPI パッケージのコア Airflow とは別にパッケージ化およびリリースされます。Cloud Composer のバックポート プロバイダの詳細については、Cloud Composer バックポート プロバイダのドキュメントをご覧ください。

これらのパッケージの特定のバージョンは、デフォルトで Cloud Composer にインストールされます。環境にインストールされているバージョンを確認するには、バージョン リストの「Python 3 の PyPI パッケージ」列をご覧ください。

特定のリリースの演算子のコードを確認するには:

GitHub UI

  1. アップストリーム Airflow リポジトリに移動します。
  2. ページ上部の GitHub 検索バーに、検索する特定の演算子の名前を入力します。
  3. 複数のファイルが返された場合は、パスが airflow/providers で始まるコードファイルをクリックします。たとえば、GoogleCloudStorageCreateBucketOperator を検索する場合は、airflow/providers/google/cloud/operators/gcs.py を選択します。
  4. ブランチ セレクタをクリックすると、[ブランチまたはタグを切り替え] プルダウン リストが開きます。
  5. [タグ] タブをクリックします。
  6. providers パッケージの場合は、次を入力して、プロバイダの名前とバージョンを
    providers-PROVIDER_NAME/PROVIDER_VERSION
    リスト内のプルダウン(PROVIDER_NAME はプロバイダの名前、PROVIDER_VERSION は検索するバージョンの名前です)たとえば、apache-airflow-providers-google パッケージのバージョン 4.0.0 を表示する場合は、providers-google/4.0.0 を検索します。
  7. backport-providers パッケージの場合、次を検索します。
    backport-providers-PROVIDER_VERSION
    )を選択します。たとえば、apache-airflow-backport-providers-google パッケージのバージョン 2021.3.3 を表示するには、backport-providers-2021.3.3 を検索します。
  8. クエリと一致する結果をクリックします。
  9. 表示されるコードは、そのオペレーターのバージョンで実行中のものです。[履歴] をクリックして、この時点までの commit 履歴を表示することもできます。

git CLI

  1. アップストリーム Airflow リポジトリのクローンを作成します。
  2. providers パッケージの場合は、次のコマンドを実行します。
    git checkout providers-PROVIDER_NAME/PROVIDER_VERSION
    ここで PROVIDER_NAME はプロバイダの名前、PROVIDER_VERSION は探しているバージョンの名前です。たとえば、apache-airflow-providers-google パッケージのバージョン 4.0.0 を表示する場合は、git checkout providers-google/4.0.0 を実行します。
  3. backport-providers パッケージの場合は、次のコマンドを実行します。
    git checkout backport-providers-PROVIDER_VERSION
    )を選択します。たとえば、apache-airflow-backport-providers-google パッケージのバージョン 2021.3.3 を表示する場合は、git checkout backport-providers-2021.3.3 を実行します。

次に、providers パッケージを使用していない場合の手順を実施します。