Repositori Composer-Airflow

Tentang Repositori

Repositori Composer-Airflow adalah repositori hanya baca yang berisi kode Apache Airflow yang di-patch dan berjalan di Cloud Composer. Hal ini dapat digunakan sebagai referensi serta pengujian dan pengembangan lokal.

Versi Apache Airflow tertentu yang ditemukan di Cloud Composer tidak selalu sama persis dengan versi terkait di Airflow upstream karena Cloud Composer menggunakan versi Airflow 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 mana yang ditemukan di Cloud Composer, lihat daftar Versi Cloud Composer.

Berkontribusi

Kode ini bukan fork Apache Airflow - kode yang ditemukan di repositori ini berasal langsung dari repositori Apache Airflow, tetapi pada linimasa yang berbeda dari rilis Apache Airflow biasa. Jika Anda ingin berkontribusi pada codebase ini, harap jangan lakukan di sini - Permintaan Pull tidak diterima dalam repositori ini dan harus dikontribusikan secara langsung ke Airflow.

Masalah + Dukungan

Jika Anda mengalami masalah dengan kode yang ditemukan di repositori ini, ikuti petunjuk pelaporan bug Airflow. Jika Anda mengalami masalah dengan Cloud Composer, gunakan saluran dukungan Cloud Composer.

Repositori memiliki satu cabang untuk setiap versi Airflow yang tersedia di Cloud Composer. Tidak semua versi Airflow didukung di Cloud Composer. Untuk mengetahui informasi tentang dukungan versi, lihat Pembuatan Versi Cloud Composer.

Kasus Penggunaan

Apakah commit ini dari repositori Airflow dalam versi Cloud Composer saya?

Commit SHA1 dalam repo composer-airflow tidak sesuai dengan commit SHA1 di repo upstream Airflow, yang berarti cara termudah untuk mencari commit tertentu adalah dengan menelusuri pesan commit yang sesuai.

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

  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

    dengan:

    • --source menunjukkan cabang tempat commit ditemukan
    • --grep memberi tahu git pesan apa yang ditelusuri lognya
    • --all memberi tahu git untuk menelusuri semua cabang
  3. Cabang tersebut terletak di sebelah hash commit di baris pertama setiap hasil. Jika perintah tersebut 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 di versi Airflow lingkungan Anda.

Misalnya, jika ingin menelusuri pesan commit "ForcePenting pilihan di dependensi GPL dependensi", perintah Anda adalah:

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

dan jika ada commit yang cocok, hasil Anda akan terlihat seperti ini (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 ini dalam versi Composer saya?

Jika Anda tidak menggunakan paket providers

Jika Anda mengetahui jalur file untuk operator tertentu, misalnya, GoogleCloudStorageCreateBucketOperator, buka file tersebut menggunakan UI GitHub atau CLI.

Jika tidak mengetahui jalur filenya, Anda dapat menelusurinya dengan perintah berikut:

    git grep GoogleCloudStorageCreateBucketOperator

Output-nya adalah daftar file tempat string (dalam hal ini, nama operator) dapat ditemukan. Dari daftar itu, navigasikan ke file yang sesuai 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.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(

Jika Anda menggunakan paket providers

Dimulai dengan versi Airflow 1.10.x tertentu, operator tertentu dan kode yang menyertainya dikemas dan dirilis secara terpisah dari Airflow inti dalam paket PyPI yang disebut "paket penyedia backport" (Airflow 1.10.x) atau "paket penyedia" (Airflow 2.0 dan yang lebih baru.) Lihat dokumentasi penyedia backport Cloud Composer untuk mengetahui informasi selengkapnya tentang penyedia backport di Cloud Composer.

Versi tertentu dari paket ini diinstal secara default di Cloud Composer. Untuk mengetahui versi yang diinstal di lingkungan Anda, periksa kolom "Paket PyPI untuk Python 3" pada daftar versi.

Guna melihat kode untuk operator dalam rilis tertentu:

UI GitHub

  1. Buka repo upstream Airflow.
  2. Masukkan nama operator tertentu yang Anda telusuri di kotak penelusuran GitHub di bagian atas halaman.
  3. Jika ada lebih dari satu file yang ditampilkan, klik file kode dengan jalur yang diawali 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 branch/tags".
  5. Klik tab "Tag".
  6. Untuk paket providers, telusuri nama penyedia Anda dan versinya dengan mengetik
    providers-PROVIDER_NAME/PROVIDER_VERSION
    di kotak penelusuran menu drop-down, dengan PROVIDER_NAME sebagai nama penyedia, dan PROVIDER_VERSION sebagai nama versi yang Anda cari. Misalnya, jika ingin melihat versi 4.0.0 dari paket apache-airflow-providers-google, Anda perlu menelusuri providers-google/4.0.0.
  7. Untuk paket backport-providers, telusuri
    backport-providers-PROVIDER_VERSION
    di kotak penelusuran menu drop-down. Misalnya, jika ingin melihat versi 2021.3.3 dari paket apache-airflow-backport-providers-google, Anda akan menelusuri backport-providers-2021.3.3.
  8. Klik pada hasil yang cocok dengan kueri Anda.
  9. Kode di layar persis dengan kode yang berjalan di versi operator Anda. Anda juga dapat mengklik Histori untuk melihat histori komitmen hingga tahap ini.

CLI git

  1. Clone repo upstream Airflow.
  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 ingin melihat versi 4.0.0 dari paket apache-airflow-providers-google, Anda harus menjalankan git checkout providers-google/4.0.0.
  3. Untuk paket backport-providers, jalankan
    git checkout backport-providers-PROVIDER_VERSION
    di kotak penelusuran menu drop-down. Misalnya, jika ingin melihat versi 2021.3.3 dari paket apache-airflow-backport-providers-google, Anda harus menjalankan git checkout backport-providers-2021.3.3.

Kemudian, ikuti petunjuk di bagian Jika Anda tidak menggunakan paket providers