Mengimpor operator dari paket penyedia backport

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan paket penyedia backport Airflow dan cara menggunakannya di DAG.

Paket penyedia backport adalah operator, transfer, sensor, hook, dan secret versi Airflow 2 yang dikemas sebagai modul PyPI.

Untuk mempermudah, dokumen ini hanya berfokus pada operator. Anda dapat menggunakan semua konten lain dari paket backport dengan cara yang sama seperti yang ditunjukkan untuk operator.

Paket penyedia backport memecahkan masalah penting: Anda bisa mendapatkan fitur dan update keamanan baru untuk operator, transfer, sensor, dan hook tanpa mengupgrade lingkungan Airflow ke versi yang lebih baru. Misalnya, paket penyedia untuk Google tersedia di Airflow 2. Anda dapat mengimpor operator dari versi yang di-backport paket ini di lingkungan Airflow 1.10.*.

Sebelum Apache Airflow memperkenalkan konsep paket penyedia backport, operator adalah bagian integral dari Airflow. Untuk mendapatkan operator versi baru, Anda memerlukan Airflow versi yang lebih baru. Hal ini mengharuskan Anda mengupgrade lingkungan Cloud Composer ke versi yang lebih baru. Airflow 2 beralih dari model ini dan memperkenalkan paket penyedia. Paket penyedia untuk Airflow 2 adalah modul PyPI yang berisi operator, transfer, sensor, hook, dan secret untuk penyedia tertentu (misalnya, Google). Jika menggunakan Airflow 1.10.*, Anda dapat memanfaatkan perubahan ini dan menggunakan versi paket penyedia yang di-backport.

Menggunakan paket backport yang telah diinstal sebelumnya

Beberapa paket backport sudah diinstal di image Cloud Composer. Anda tidak perlu menginstal paket backport ini ke lingkungan Anda. Pastikan Anda mengimpor operator dari paket backport dalam kode DAG seperti yang dijelaskan nanti di halaman ini.

Untuk memeriksa paket backport yang tersedia di lingkungan Anda, lihat daftar paket di image Cloud Composer untuk lingkungan Anda.

Setiap paket backport yang diprainstal di lingkungan Anda memiliki versi tertentu. Jika Anda ingin menggunakan versi lain, perbarui lingkungan Anda dan tentukan versi yang diperlukan. Sebaiknya jangan downgrade paket backport yang telah diinstal sebelumnya. Instal versi sebelumnya hanya jika Anda menemukan masalah pada versi yang lebih baru. Anda tidak dapat meng-uninstal paket backport yang telah diinstal sebelumnya, hanya mengubah versi yang diinstal.

Menginstal dan mengupgrade paket backport

Untuk menginstal atau mengupgrade paket backport:

  1. Temukan paket backport yang diperlukan di PyPI.org.

  2. Instal atau upgrade paket seperti paket PyPI lainnya.

  3. Jika diperlukan, instal dependensi paket lintas penyedia. Ini adalah dependensi tambahan yang mungkin Anda perlukan untuk menggunakan semua fitur paket backport.

    Misalnya, untuk menggunakan SalesforceToGcsOperator dari apache-airflow-backport-providers-google, Anda memerlukan tambahan [salesforce]. Instal apache-airflow-backport-providers-google dan tentukan tambahan [salesforce] di kolom Tambahan dan versi.

Mengimpor operator dari paket penyedia backport di DAG

Untuk melihat daftar konten dalam paket backport, buka halaman paket backport di PyPI.org. Misalnya, halaman untuk apache-airflow-backport-providers-google mencantumkan operator, transfer, sensor, hook, dan secret untuk paket ini.

Paket penyedia backport memperkenalkan operator baru dan yang dipindahkan serta konten lainnya. Ada perbedaan antara kedua jenis konten ini, seperti yang dijelaskan nanti.

Mengimpor operator baru

Operator baru adalah operator yang tidak ada di Airflow 1.10.*. Jika mencoba mengimpor operator tersebut tanpa paket backport-nya, Anda akan mendapatkan error impor.

Untuk menggunakan operator baru dari paket backport, impor dari paket airflow.providers.* yang sesuai, seperti yang dijelaskan di halaman untuk paket backport ini di PyPI.org.

Contoh berikut mengimpor operator baru dari paket apache-airflow-backport-providers-google:

from airflow.providers.google.cloud.operators.bigquery_dts import (
    BigQueryCreateDataTransferOperator,
    BigQueryDeleteDataTransferConfigOperator,
    )

Mengimpor operator yang dipindahkan

Operator yang dipindahkan adalah operator yang sudah ada di Airflow 1.10.*. Setelah menginstal paket operator backport, Anda dapat mengimpor dua versi operator yang berbeda. Satu versi dipaketkan dengan Airflow, dan versi lainnya adalah operator yang dipindahkan. Untuk menggunakan operator yang dipindahkan, impor operator tersebut menggunakan jalur impor baru.

Untuk menggunakan operator yang dipindahkan dari paket backport, impor dari paket airflow.contrib.* yang sesuai, seperti yang dijelaskan di halaman untuk paket backport ini di PyPI.org.

Contoh berikut mengimpor operator yang dipindahkan dari paket apache-airflow-backport-providers-google:

from airflow.contrib.operators.bigquery_operator import (
    BigQueryCreateEmptyDatasetOperator,
    BigQueryOperator,
    )

Langkah selanjutnya