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 sebagai kode. DAG 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 memerlukan yang berikut ini sebelum dapat menyelesaikan langkah-langkah di halaman ini.
-
Izin — AWS Akun Anda harus telah diberikan akses oleh administrator Anda ke kebijakan kontrol mazonMWAAFull ConsoleAccess akses A untuk lingkungan Anda. Selain itu, MWAA lingkungan Amazon 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 sebagai kode. DAG Ini terdiri dari yang berikut:
-
Sebuah 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 MWAA lingkungan Amazon, Anda perlu menyalin DAG definisi Anda ke dags
folder di bucket penyimpanan Anda. Misalnya, DAG folder di bucket penyimpanan Anda mungkin terlihat seperti ini:
contoh DAGfolder
dags/ └ dag_def.py
Amazon MWAA secara otomatis menyinkronkan objek baru dan yang diubah dari bucket Amazon S3 Anda ke folder penjadwal MWAA Amazon dan /usr/local/airflow/dags
wadah pekerja setiap 30 detik, mempertahankan hierarki file sumber Amazon S3, apa pun jenis filenya. 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 DAG pemrosesan berikutnya.
catatan
Anda tidak perlu menyertakan file airflow.cfg
konfigurasi di DAG folder 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 AndaDAGs, dan plugin khusus yang Anda tentukan di Amazon MWAA telah berubah antara Apache Airflow v1 dan Apache Airflow v2.
plugins.zip
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 Python di panduan API referensiApache Airflow.
Pengujian DAGs menggunakan MWAA CLI utilitas Amazon
-
Utilitas antarmuka baris perintah (CLI) mereplikasi Alur Kerja Terkelola Amazon untuk lingkungan Apache Airflow secara lokal.
-
CLIMembangun image container Docker secara lokal yang mirip dengan image produksi AmazonMWAA. Ini memungkinkan Anda menjalankan lingkungan Apache Airflow lokal untuk mengembangkan dan mengujiDAGs, plugin khusus, dan dependensi sebelum menerapkan ke Amazon. MWAA
-
Untuk menjalankanCLI, lihat aws-mwaa-local-runner
di GitHub.
Mengunggah DAG kode ke Amazon S3
Anda dapat menggunakan konsol Amazon S3 atau AWS Command Line Interface (AWS CLI) untuk mengunggah DAG kode 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 menganggap Anda memiliki DAGs folder bernamadags
.
Untuk mengunggah menggunakan konsol Amazon S3
-
Buka halaman Lingkungan
di MWAA konsol Amazon. -
Pilih lingkungan.
-
Pilih tautan bucket S3 di DAGkode 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 MWAA konsol Amazon (pertama kali)
Langkah-langkah berikut mengasumsikan Anda menentukan jalur ke folder di bucket Amazon S3 Anda bernama. dags
-
Buka halaman Lingkungan
di MWAA konsol Amazon. -
Pilih lingkungan tempat Anda ingin berlariDAGs.
-
Pilih Edit.
-
Pada DAGkode 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 UI Apache Airflow Anda
Masuk ke Apache Airflow
Anda memerlukan Kebijakan akses Apache Airflow UI: A mazonMWAAWeb 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 MWAA konsol Amazon. -
Pilih lingkungan.
-
Pilih Buka UI Aliran Udara.
Apa selanjutnya?
-
Uji plugin khususDAGs, dan dependensi Python Anda secara lokal menggunakan on. aws-mwaa-local-runner
GitHub