Repositori kode Airflow Managed Airflow

Halaman ini menjelaskan repositori yang menyimpan kode Apache Airflow yang di-patch dan digunakan di Managed Airflow.

Tentang repositori

Repositori Composer-Airflow adalah repositori hanya baca yang berisi kode Apache Airflow yang di-patch dan berjalan di Managed Airflow.

Versi Apache Airflow tertentu yang ditemukan di Managed Airflow tidak selalu cocok dengan versi yang sesuai di Airflow upstream karena Managed Airflow menggunakan versi Airflow yang di-patch. Repositori ini menyimpan kode untuk setiap versi Airflow yang di-patch dan digunakan di Managed Airflow. Untuk mengetahui informasi tentang versi Airflow yang ditemukan di Managed Airflow, lihat Daftar versi Managed Airflow.

Berkontribusi

Kode ini bukan fork dari Apache Airflow. Kode yang ditemukan di repositori ini berasal langsung dari repositori Apache Airflow, tetapi dengan linimasa yang berbeda dari rilis Apache Airflow normal.

Jika Anda ingin berkontribusi pada codebase ini, maka berkontribusi langsung ke Airflow sebagai gantinya. Jangan lakukan hal tersebut di repositori ini karena Permintaan Pull tidak diterima di dalamnya.

Masalah dan dukungan

Repositori ini memiliki satu cabang untuk setiap versi Airflow yang tersedia di Managed Service untuk Apache Airflow. Tidak semua versi Airflow didukung di Managed Airflow. Anda dapat melihat versi Airflow mana yang didukung oleh versi Managed Airflow tertentu di Daftar versi Managed Airflow.

Contoh penggunaan

Bagian ini mencantumkan contoh penggunaan untuk repositori.

Apakah commit ini dari repositori Airflow ada di versi Managed Airflow saya?

SHA1 commit di repositori Composer-Airflow tidak sesuai dengan SHA1 commit di repositori Airflow upstream. Salah satu cara untuk menelusuri commit tertentu adalah dengan mencari pesan commit yang sesuai.

Anda tidak dapat menggunakan UI GitHub untuk menelusuri pesan commit di cabang selain cabang default. Namun, Anda dapat melakukannya menggunakan git CLI. Untuk menelusuri commit tertentu di repositori ini, Anda perlu menginstal git.

Untuk menelusuri pesan commit menggunakan git CLI:

  1. Clone repositori dan ubah ke direktori repositori menggunakan perintah berikut:

    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \
    cd composer-airflow
    
  2. Telusuri pesan commit:

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

    Dalam perintah ini:

    • --source menampilkan cabang tempat commit ditemukan
    • --grep menentukan pesan yang harus ditelusuri di log
    • --all menelusuri di semua cabang
  3. Cabang terletak di samping hash commit di baris pertama setiap hasil. Jika perintah menampilkan commit, berarti commit tersebut ada di versi Managed Airflow Anda. Selain itu, jika versi Airflow di lingkungan Anda lebih baru dari versi cabang, commit akan digunakan di versi Airflow lingkungan Anda.

Misalnya, jika Anda ingin menelusuri pesan commit Force explicit choice on GPL dependency, perintah Anda adalah:

git log --source --grep="Force explicit choice on GPL dependency" --all

Jika ada commit yang cocok, maka hasil Anda akan terlihat seperti contoh output berikut. Mungkin ada lebih dari satu hasil.

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

Seperti apa tampilan operator Airflow ini di versi Managed Airflow saya?

Operator Airflow dan kode yang menyertainya dikemas dan dirilis secara terpisah dari Airflow inti dalam paket PyPI yang disebut paket penyedia.

Beberapa paket ini diinstal secara default di Managed Airflow. Untuk mengetahui versi mana yang diinstal di lingkungan Anda, periksa daftar paket untuk versi Managed Airflow lingkungan Anda di daftar versi.

UI GitHub

Untuk melihat kode operator dalam versi paket penyedia tertentu:

  1. Buka repo Airflow upstream.

  2. Masukkan nama operator yang Anda cari di kotak penelusuran GitHub.

  3. Jika lebih dari satu file ditampilkan, klik file kode dengan jalur yang dimulai di airflow/providers.

    Misalnya, jika Anda menelusuri GoogleCloudStorageCreateBucketOperator, pilih airflow/providers/google/cloud/operators/gcs.py.

  4. Klik pemilih cabang, yang akan membuka menu drop-down Switch branches/tags.

  5. Klik tab Tags.

  6. Untuk paket providers, telusuri nama penyedia dan versinya dengan mengetik providers-PROVIDER_NAME/PROVIDER_VERSION di kotak penelusuran menu drop-down, dengan PROVIDER_NAME adalah nama penyedia, dan PROVIDER_VERSION adalah nama versi yang Anda cari.

    Misalnya, jika Anda ingin melihat paket apache-airflow-providers-google versi 10.0.0, telusuri providers-google/10.0.0.

  7. Untuk paket backport-providers, yang digunakan di Airflow 1, telusuri backport-providers-PROVIDER_VERSION di kotak penelusuran menu drop-down.

    Misalnya, jika Anda ingin melihat paket apache-airflow-backport-providers-google versi 2021.3.3, telusuri backport-providers-2021.3.3.

  8. Klik hasil yang cocok dengan kueri Anda.

  9. Kode di layar adalah kode yang berjalan di versi operator tersebut. Anda juga dapat mengklik History untuk melihat histori commit hingga saat ini.

git CLI

Untuk melihat kode operator dalam versi paket penyedia tertentu:

  1. Clone the repo Airflow upstream.

  2. Untuk providers paket, jalankan git checkout providers-PROVIDER_NAME/PROVIDER_VERSION, dengan PROVIDER_NAME adalah nama penyedia, dan PROVIDER_VERSION adalah nama versi yang Anda cari.

    Misalnya, jika Anda ingin melihat paket apache-airflow-providers-google versi 10.0.0, jalankan git checkout providers-google/10.0.0.

  3. Untuk paket backport-providers, yang digunakan di Airflow 1, jalankan git checkout backport-providers-PROVIDER_VERSION.

    Misalnya, jika Anda ingin melihat paket apache-airflow-backport-providers-google versi 2021.3.3,jalankan git checkout backport-providers-2021.3.3.

  4. Jika tidak mengetahui jalur file untuk operator, Anda dapat menelusurinya dengan perintah git grep. Contoh berikut menunjukkan cara menelusuri GoogleCloudStorageCreateBucketOperator.

    git grep GoogleCloudStorageCreateBucketOperator
    

    Outputnya adalah daftar file tempat string (dalam hal ini, nama operator) dapat ditemukan. Dari daftar tersebut, buka file dan periksa kontennya lebih lanjut.

    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(
    

Langkah berikutnya