Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menambahkan atau memperbarui DAGs
Directed Acyclic Graphs (DAGs) didefinisikan dalam file Python yang mendefinisikan struktur DAG sebagai kode. Anda dapat menggunakan AWS CLI, atau konsol Amazon S3 untuk mengunggah DAGs ke lingkungan Anda. Topik ini menjelaskan langkah-langkah untuk menambah atau memperbarui Apache Airflow DAGs di lingkungan Alur Kerja Terkelola Amazon untuk Apache Airflow menggunakan folder di bucket Amazon S3 dags
Anda.
Bagian-bagian
Prasyarat
Anda akan memerlukan yang berikut ini sebelum Anda dapat menyelesaikan langkah-langkah di halaman ini.
-
Izin — AWS Akun Anda harus telah diberikan akses oleh administrator Anda ke kebijakan kontrol MWAAFull ConsoleAccess akses Amazon untuk lingkungan Anda. Selain itu, lingkungan Amazon MWAA Anda harus diizinkan oleh peran eksekusi Anda untuk mengakses AWS sumber daya yang digunakan oleh lingkungan Anda.
-
Akses — Jika Anda memerlukan akses ke repositori publik untuk menginstal dependensi langsung di server web, lingkungan Anda harus dikonfigurasi dengan akses server web jaringan publik. Untuk informasi selengkapnya, lihat Mode akses Apache Airflow.
-
Konfigurasi Amazon S3 - Bucket Amazon S3 yang digunakan untuk menyimpan plugin kustom DAGs Anda
plugins.zip
, dan dependensi Python harus dikonfigurasi dengan Akses Publik Diblokir danrequirements.txt
Diaktifkan Versi.
Cara kerjanya
Sebuah Directed Acyclic Graph (DAG) didefinisikan dalam satu file Python yang mendefinisikan struktur DAG sebagai kode. Ini terdiri dari yang berikut:
-
Definisi DAG
. -
Operator
yang menjelaskan cara menjalankan DAG dan tugas yang harus dijalankan. -
Hubungan operator
yang menggambarkan urutan untuk menjalankan tugas.
Untuk menjalankan platform Apache Airflow di lingkungan Amazon MWAA, Anda perlu menyalin definisi DAG Anda ke dags
folder di bucket penyimpanan Anda. Misalnya, folder DAG di bucket penyimpanan Anda mungkin terlihat seperti ini:
contoh Folder DAG
dags/ └ dag_def.py
Amazon MWAA secara otomatis menyinkronkan objek baru dan yang diubah dari bucket Amazon S3 Anda ke folder penjadwal Amazon MWAA dan /usr/local/airflow/dags
container pekerja setiap 30 detik, menjaga hierarki file sumber Amazon S3, terlepas dari jenis file. Waktu yang DAGs dibutuhkan untuk muncul di Apache Airflow UI Anda dikendalikan oleh. scheduler.dag_dir_list_interval
Perubahan yang ada DAGs akan diambil pada loop pemrosesan DAG berikutnya.
catatan
Anda tidak perlu menyertakan file airflow.cfg
konfigurasi di folder DAG Anda. Anda dapat mengganti konfigurasi Apache Airflow default dari konsol Amazon MWAA. Untuk informasi selengkapnya, lihat Menggunakan opsi konfigurasi Apache Airflow di Amazon MWAA.
Apa yang berubah di v2
-
Baru: Operator, Hooks, dan Executors. Pernyataan impor di Anda DAGs, dan plugin khusus yang Anda tentukan di MWAA
plugins.zip
di Amazon telah berubah antara Apache Airflow v1 dan Apache Airflow v2. Misalnya,from airflow.contrib.hooks.aws_hook import AwsHook
di Apache Airflow v1 telah berubah menjadifrom airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
di Apache Airflow v2. Untuk mempelajari lebih lanjut, lihat Referensi API Python di panduan referensiApache Airflow.
Pengujian DAGs menggunakan utilitas Amazon MWAA CLI
-
Utilitas antarmuka baris perintah (CLI) mereplikasi Alur Kerja Terkelola Amazon untuk lingkungan Apache Airflow secara lokal.
-
CLI membangun image container Docker secara lokal yang mirip dengan image produksi Amazon MWAA. Ini memungkinkan Anda menjalankan lingkungan Apache Airflow lokal untuk mengembangkan dan menguji DAGs, plugin khusus, dan dependensi sebelum menerapkan ke Amazon MWAA.
-
Untuk menjalankan CLI, lihat di. aws-mwaa-local-runner
GitHub
Mengunggah kode DAG ke Amazon S3
Anda dapat menggunakan konsol Amazon S3 atau AWS Command Line Interface (AWS CLI) untuk mengunggah kode DAG ke bucket Amazon S3 Anda. Langkah-langkah berikut mengasumsikan Anda mengunggah kode (.py
) ke folder bernama dags
di bucket Amazon S3 Anda.
Menggunakan AWS CLI
The AWS Command Line Interface (AWS CLI) adalah alat open source yang memungkinkan Anda berinteraksi dengan AWS layanan menggunakan perintah di shell baris perintah Anda. Untuk menyelesaikan langkah-langkah di halaman ini, Anda memerlukan yang berikut:
Untuk mengunggah menggunakan AWS CLI
-
Gunakan perintah berikut untuk membuat daftar semua bucket Amazon S3 Anda.
aws s3 ls
-
Gunakan perintah berikut untuk mencantumkan file dan folder di bucket Amazon S3 untuk lingkungan Anda.
aws s3 ls s3://
YOUR_S3_BUCKET_NAME
-
Perintah berikut mengunggah
dag_def.py
file kedags
folder.aws s3 cp dag_def.py s3://
YOUR_S3_BUCKET_NAME
/dags/Jika folder bernama
dags
belum ada di bucket Amazon S3 Anda, perintah ini membuatdags
folder dan mengunggah file bernamadag_def.py
ke folder baru.
Menggunakan konsol Amazon S3
Konsol Amazon S3 adalah antarmuka pengguna berbasis web yang memungkinkan Anda membuat dan mengelola sumber daya di bucket Amazon S3 Anda. Langkah-langkah berikut mengasumsikan Anda memiliki DAGs folder bernamadags
.
Untuk mengunggah menggunakan konsol Amazon S3
-
Buka halaman Lingkungan
di konsol Amazon MWAA. -
Pilih lingkungan.
-
Pilih tautan bucket S3 di kode DAG di panel S3 untuk membuka bucket penyimpanan Anda di konsol Amazon S3.
-
Pilih
dags
folder. -
Pilih Unggah.
-
Pilih Tambahkan file.
-
Pilih salinan lokal Anda
dag_def.py
, pilih Unggah.
Menentukan jalur ke DAGs folder Anda di konsol Amazon MWAA (pertama kali)
Langkah-langkah berikut mengasumsikan Anda menentukan jalur ke folder di bucket Amazon S3 Anda bernama. dags
-
Buka halaman Lingkungan
di konsol Amazon MWAA. -
Pilih lingkungan tempat Anda ingin berlari DAGs.
-
Pilih Edit.
-
Pada kode DAG di panel Amazon S3, pilih Jelajahi S3 di sebelah bidang folder DAG.
-
Pilih
dags
folder Anda. -
Pilih Tutup.
-
Pilih Berikutnya, Perbarui lingkungan.
Melihat perubahan pada Apache Airflow UI
Masuk ke Apache Airflow
Anda memerlukan Kebijakan akses Apache Airflow UI: Amazon MWAAWeb ServerAccess izin untuk AWS akun Anda di AWS Identity and Access Management (IAM) untuk melihat UI Apache Airflow Anda.
Untuk mengakses UI Apache Airflow Anda
-
Buka halaman Lingkungan
di konsol Amazon MWAA. -
Pilih lingkungan.
-
Pilih Buka UI Aliran Udara.
Apa selanjutnya?
-
Uji DAGs, plugin kustom, dan dependensi Python Anda secara lokal menggunakan on. aws-mwaa-local-runner
GitHub