Menjalankan DAG Apache Airflow di Managed Airflow (Generasi 2)
Managed Airflow (Generasi 3) | Managed Airflow (Generasi 2) | Managed Airflow (Generasi 1 Lama)
Panduan memulai cepat ini menunjukkan cara membuat lingkungan Managed Service untuk Apache Airflow dan menjalankan DAG Apache Airflow di Managed Airflow (Generasi 2).
Jika Anda baru menggunakan Airflow, lihat tutorial konsep Airflow dalam dokumentasi Apache Airflow untuk mengetahui informasi selengkapnya tentang konsep, objek, dan penggunaan Airflow.
Jika Anda ingin menggunakan Google Cloud CLI, lihat Menjalankan DAG Apache Airflow di Managed Service untuk Apache Airflow (Google Cloud CLI).
Jika Anda ingin membuat lingkungan menggunakan Terraform, lihat Membuat lingkungan (Terraform).
Sebelum memulai
- Login ke akun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Aktifkan Managed Airflow API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran. -
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan memulai cepat ini, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Untuk menetapkan peran dan izin IAM:
Admin IAM Project (
roles/resourcemanager.projectIamAdmin) -
Untuk membuat akun layanan untuk lingkungan Managed Airflow:
Membuat Akun Layanan (
roles/iam.serviceAccountCreator) -
Untuk melihat, membuat, dan mengelola lingkungan Managed Airflow:
- Admin Lingkungan dan Objek Penyimpanan (
roles/composer.environmentAndStorageObjectAdmin) - Pengguna Akun Layanan (
roles/iam.serviceAccountUser)
- Admin Lingkungan dan Objek Penyimpanan (
-
Untuk melihat log:
Logs Viewer (
roles/logging.viewer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Untuk menetapkan peran dan izin IAM:
Admin IAM Project (
Membuat akun layanan lingkungan
Saat membuat lingkungan, Anda menentukan akun layanan. Akun layanan ini disebut akun layanan lingkungan. Lingkungan Anda menggunakan akun layanan ini untuk melakukan sebagian besar operasi.
Akun layanan untuk lingkungan Anda bukan akun pengguna. Akun layanan adalah jenis akun khusus yang digunakan oleh aplikasi atau instance virtual machine (VM), bukan orang.
Untuk membuat akun layanan untuk lingkungan Anda:
Buat akun layanan baru, seperti yang dijelaskan dalam dokumentasi Identity and Access Management.
Berikan peran ke akun layanan tersebut, seperti yang dijelaskan dalam dokumentasi Identity and Access Management. Peran yang diperlukan adalah Composer Worker (
composer.worker).
Membuat lingkungan
Di Google Cloud konsol, buka halaman Create environment.
Jika ini adalah lingkungan pertama di project Anda, bagian Grant required permissions to Cloud Composer service account akan muncul.
Anda menambahkan akun Managed Airflow Service Agent sebagai principal baru di akun layanan lingkungan Anda dan memberikan peran Cloud Composer v2 API Service Agent Extension ke akun tersebut.
Pastikan Anda menggunakan akun layanan yang diinginkan untuk lingkungan Anda, lalu klik Grant.
Di kolom Name, masukkan
example-environment.Di menu drop-down Location, pilih region untuk lingkungan Managed Airflow. Panduan ini menggunakan region
us-central1.Untuk opsi konfigurasi lingkungan lainnya, gunakan nilai default yang disediakan.
Klik Create dan tunggu hingga lingkungan dibuat.
Setelah selesai, tanda centang hijau akan ditampilkan di samping nama lingkungan.
Membuat file DAG
DAG Airflow adalah kumpulan tugas terorganisir yang ingin Anda jadwalkan dan jalankan. DAG ditentukan dalam file Python standar.
Panduan ini menggunakan contoh DAG Airflow yang ditentukan dalam file quickstart.py.
Kode Python dalam file ini melakukan hal berikut:
- Membuat DAG,
composer_sample_dag. DAG ini berjalan setiap hari. - Menjalankan satu tugas,
print_dag_run_conf. Tugas ini mencetak konfigurasi DAG run menggunakan operator bash.
Simpan salinan file quickstart.py di komputer lokal Anda:
Mengupload file DAG ke bucket lingkungan Anda
Setiap lingkungan Managed Airflow memiliki bucket Cloud Storage yang terkait dengannya. Airflow di Managed Airflow hanya menjadwalkan DAG yang berada di folder /dags di bucket ini.
Untuk menjadwalkan DAG, upload quickstart.py dari komputer lokal Anda ke folder /dags lingkungan Anda:
Di Google Cloud konsol, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda,
example-environment. Halaman Environment details akan terbuka.Klik Open DAGs folder. Halaman Bucket details akan terbuka.
Klik Upload files , lalu pilih salinan
quickstart.pyAnda.Untuk mengupload file, klik Open.
Melihat DAG
Setelah Anda mengupload file DAG, Airflow akan melakukan hal berikut:
- Mengurai file DAG yang Anda upload. DAG mungkin memerlukan waktu beberapa menit agar tersedia untuk Airflow.
- Menambahkan DAG ke daftar DAG yang tersedia.
- Menjalankan DAG sesuai dengan jadwal yang Anda berikan dalam file DAG.
Pastikan DAG Anda diproses tanpa error dan tersedia di Airflow dengan melihatnya di UI DAG. UI DAG adalah antarmuka Managed Airflow untuk melihat informasi DAG di Google Cloud konsol. Managed Airflow juga menyediakan akses ke UI Airflow, yang merupakan antarmuka web Airflow native.
Tunggu sekitar lima menit untuk memberi Airflow waktu memproses file DAG yang Anda upload sebelumnya, dan untuk menyelesaikan DAG run pertama (dijelaskan nanti).
Di Google Cloud konsol, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda,
example-environment. Halaman Environment details akan terbuka.Buka tab DAGs.
Pastikan DAG
composer_quickstartada dalam daftar DAG.
Gambar 1. Daftar DAG menampilkan DAG composer_quickstart (klik untuk memperbesar)
Melihat detail DAG run
Satu kali eksekusi DAG disebut DAG run. Airflow segera menjalankan DAG run untuk contoh DAG karena tanggal mulai dalam file DAG ditetapkan ke kemarin. Dengan cara ini, Airflow akan mengejar jadwal DAG yang ditentukan.
Contoh DAG berisi satu tugas, print_dag_run_conf, yang menjalankan perintah echo di konsol. Perintah ini menampilkan informasi meta tentang DAG (ID numerik DAG run).
Di tab DAGs, klik
composer_quickstart. Tab Runs untuk DAG akan terbuka.Dalam daftar DAG run, klik entri pertama.
Gambar 2. Daftar DAG run untuk DAG composer_quickstart (klik untuk memperbesar) Detail DAG run ditampilkan, yang menjelaskan informasi tentang setiap tugas dari contoh DAG.
Gambar 3. Daftar tugas yang dijalankan dalam DAG run (klik untuk memperbesar) Bagian Logs for DAG run mencantumkan log untuk semua tugas dalam DAG run. Anda dapat melihat output perintah
echodi log.
Gambar 4. Log tugas print_dag_run_conf (klik untuk memperbesar)
Pembersihan
Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud
Hapus resource yang digunakan dalam tutorial ini:
Hapus lingkungan Managed Airflow:
Di Google Cloud konsol, buka halaman Environments.
Pilih
example-environment, lalu klik Delete.Tunggu hingga lingkungan dihapus.
Hapus bucket lingkungan Anda. Menghapus lingkungan Managed Airflow tidak akan menghapus bucketnya.
Di Google Cloud konsol, buka halaman Storage > Browser.
Pilih bucket lingkungan, lalu klik Delete. Misalnya, bucket ini dapat diberi nama
us-central1-example-environ-c1616fe8-bucket.
Langkah berikutnya