Menambahkan atau memperbarui DAGs - Amazon Managed Workflows for Apache Airflow (MWAA)

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.

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 Andaplugins.zip, dan dependensi Python harus dikonfigurasi dengan Akses Publik Diblokir dan requirements.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:

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 menjadi from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook di Apache Airflow v2. Untuk mempelajari lebih lanjut, lihat Referensi API Python di panduan referensi Apache 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
  1. Gunakan perintah berikut untuk membuat daftar semua bucket Amazon S3 Anda.

    aws s3 ls
  2. Gunakan perintah berikut untuk mencantumkan file dan folder di bucket Amazon S3 untuk lingkungan Anda.

    aws s3 ls s3://YOUR_S3_BUCKET_NAME
  3. Perintah berikut mengunggah dag_def.py file ke dags 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 membuat dags folder dan mengunggah file bernama dag_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
  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Pilih tautan bucket S3 di kode DAG di panel S3 untuk membuka bucket penyimpanan Anda di konsol Amazon S3.

  4. Pilih dags folder.

  5. Pilih Unggah.

  6. Pilih Tambahkan file.

  7. Pilih salinan lokal Andadag_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

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan tempat Anda ingin berlari DAGs.

  3. Pilih Edit.

  4. Pada kode DAG di panel Amazon S3, pilih Jelajahi S3 di sebelah bidang folder DAG.

  5. Pilih dags folder Anda.

  6. Pilih Tutup.

  7. 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
  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Pilih Buka UI Aliran Udara.

Apa selanjutnya?

  • Uji DAGs, plugin kustom, dan dependensi Python Anda secara lokal menggunakan on. aws-mwaa-local-runner GitHub