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 telah ditambal dan berjalan di Managed Airflow.

Versi Apache Airflow tertentu yang ditemukan di Managed Airflow tidak selalu sama persis dengan versi yang sesuai di Airflow versi utama karena Managed Airflow menggunakan versi Airflow yang telah ditambal. Repositori ini menyimpan kode untuk setiap versi patch Airflow yang digunakan di Managed Airflow. Untuk mengetahui informasi tentang versi Airflow yang ditemukan di Managed Airflow, lihat Daftar versi Managed Airflow.

Berkontribusi

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

Jika Anda ingin berkontribusi pada basis kode ini, maka berkontribusilah langsung ke Airflow saja. Jangan lakukan itu di repositori ini karena Pull Request tidak diterima di sini.

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 yang didukung oleh versi Managed Airflow tertentu di daftar versi Managed Airflow.

Contoh penggunaan

Bagian ini berisi contoh penggunaan repositori.

Apakah commit ini berasal dari repository Airflow di versi Managed Airflow saya?

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

Tidak dimungkinkan untuk menggunakan UI GitHub untuk mencari pesan commit di branch selain branch default, namun, hal itu dapat dilakukan menggunakan CLI git. Untuk menelusuri commit tertentu di repositori ini, Anda harus menginstal git.

Untuk menelusuri pesan commit menggunakan CLI git:

  1. Kloning repositori dan masuk ke direktori repositori menggunakan perintah berikut:

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

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

    Dalam perintah ini:

    • --source menunjukkan cabang tempat commit ditemukan
    • --grep menentukan pesan yang harus dicari di log
    • --all pencarian di semua cabang
  3. Cabang tersebut terletak di sebelah hash commit pada baris pertama setiap hasil. Jika perintah tersebut mengembalikan commit, ini berarti commit tersebut sudah ada di versi Managed Airflow Anda. Selain itu, jika versi Airflow di lingkungan Anda lebih baru daripada versi branch, maka commit tersebut akan digunakan pada versi Airflow di lingkungan Anda.

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

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

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

commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/1.10.2
Author: example_airflow_committer 
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  
    (cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
    Signed-off-by: Example Airflow Committer  
    GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be

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

Operator Airflow dan kode pendukungnya 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 terpasang di lingkungan Anda, periksa daftar paket untuk versi Managed Airflow di lingkungan Anda pada versions list.

Antarmuka pengguna GitHub

Untuk melihat kode operator dalam versi paket penyedia tertentu:

  1. Buka repositori Airflow upstream.

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

  3. Jika lebih dari satu file dikembalikan, klik file kode dengan jalur yang diawali dengan airflow/providers.

    Misalnya, jika Anda mencari GoogleCloudStorageCreateBucketOperator, maka 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, cari nama penyedia dan versinya dengan mengetik providers-PROVIDER_NAME/PROVIDER_VERSION di bilah pencarian daftar tarik-turun, di mana 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, Anda akan mencari 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 dari paket apache-airflow-backport-providers-google, telusuri backport-providers-2021.3.3.

  8. Klik hasil yang sesuai dengan kueri Anda.

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

git CLI

Untuk melihat kode operator dalam versi paket penyedia tertentu:

  1. Buat clone repositori Airflow upstream.

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

    Misalnya, jika Anda ingin melihat versi 10.0.0 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 mencari GoogleCloudStorageCreateBucketOperator.

    git grep GoogleCloudStorageCreateBucketOperator
    

    Outputnya 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 berikutnya

  • Jalankan lingkungan Airflow lokal dengan alat CLI Pengembangan Lokal Composer