Repositori kode Airflow Cloud Composer

Halaman ini menjelaskan repositori yang menyimpan kode Apache Airflow yang di-patch yang digunakan di Cloud Composer.

Tentang repositori

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

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

Berkontribusi

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

Jika Anda ingin berkontribusi pada codebase ini, berkontribusilah langsung ke Airflow. Jangan melakukannya di repositori ini karena Pull Request tidak diterima di dalamnya.

Masalah dan dukungan

Repositori memiliki satu cabang untuk setiap versi Airflow yang tersedia di Cloud Composer. Tidak semua versi Airflow didukung di Cloud Composer. Anda dapat melihat versi Airflow yang didukung oleh versi Cloud Composer tertentu di daftar versi Cloud Composer.

Contoh penggunaan

Bagian ini mencantumkan contoh penggunaan untuk repositori.

Apakah commit ini berasal dari repositori Airflow di versi Cloud Composer 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, tetapi Anda dapat melakukannya menggunakan CLI git. Untuk menelusuri commit tertentu di repositori ini, Anda harus 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 dalam log
    • --all menelusuri di semua cabang
  3. Cabang terletak di samping hash commit di baris pertama setiap hasil. Jika perintah menampilkan commit, artinya commit tersebut ada dalam versi Cloud Composer Anda. Selain itu, jika versi Airflow di lingkungan Anda lebih baru dari versi cabang, commit akan digunakan dalam 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, hasilnya 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 Cloud Composer 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 Cloud Composer. Untuk mengetahui versi yang diinstal di lingkungan Anda, periksa daftar paket untuk versi Cloud Composer 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 telusuri 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 Tag.

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

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

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

    Misalnya, jika Anda ingin melihat versi 2021.3.3 paket apache-airflow-backport-providers-google, 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 Histori untuk melihat histori commit hingga titik ini.

git CLI

Untuk melihat kode operator dalam versi paket penyedia tertentu:

  1. Clone repo Airflow upstream.

  2. Untuk paket providers, 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 versi 10.0.0 dari paket apache-airflow-providers-google, 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 versi 2021.3.3 dari paket apache-airflow-backport-providers-google,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
    

    Output-nya adalah daftar file tempat string (dalam hal ini, nama operator) dapat ditemukan. Dari daftar tersebut, buka file dan periksa isinya 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 selanjutnya