Mengimpor operator dari paket penyedia backport

Cloud Composer 1 | Cloud Composer 2

Halaman ini menjelaskan apa yang dimaksud dengan paket penyedia backport Airflow dan cara menggunakannya di DAG Anda.

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

Untuk menyederhanakannya, 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 baru dan update keamanan untuk operator, transfer, sensor, dan hook tanpa mengupgrade lingkungan Airflow Anda 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.* Anda.

Sebelum Apache Airflow memperkenalkan konsep paket penyedia backport, operator merupakan bagian integral dari Airflow. Untuk mendapatkan versi operator baru, Anda memerlukan versi Airflow yang lebih baru. Tindakan ini memerlukan upgrade lingkungan Cloud Composer Anda 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 bawaan

Beberapa paket backport sudah terinstal di image Cloud Composer. Anda tidak perlu menginstal paket backport ini ke lingkungan Anda. Cukup 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 pada image Cloud Composer untuk lingkungan Anda.

Setiap paket backport bawaan di lingkungan Anda memiliki versi tertentu. Jika Anda ingin menggunakan versi lain, update lingkungan Anda dan tentukan versi yang diperlukan. Sebaiknya jangan mendowngrade paket backport bawaan. Instal versi sebelumnya hanya jika Anda menemukan masalah pada versi yang lebih baru. Anda tidak dapat meng-uninstal paket backport yang sudah diinstal sebelumnya, hanya ubah versi yang terinstal.

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 berpindah serta konten lain. Ada perbedaan antara kedua jenis konten ini, seperti yang akan 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 operator 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 operator 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