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 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.

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 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 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 menjadi from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook di Apache Airflow v2. Untuk mempelajari lebih lanjut, lihat Referensi Python di panduan API referensi Apache 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-runnerdi 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
  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 menganggap Anda memiliki DAGs folder bernamadags.

Untuk mengunggah menggunakan konsol Amazon S3
  1. Buka halaman Lingkungan di MWAA konsol Amazon.

  2. Pilih lingkungan.

  3. Pilih tautan bucket S3 di DAGkode 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 MWAA konsol Amazon (pertama kali)

Langkah-langkah berikut mengasumsikan Anda menentukan jalur ke folder di bucket Amazon S3 Anda bernama. dags

  1. Buka halaman Lingkungan di MWAA konsol Amazon.

  2. Pilih lingkungan tempat Anda ingin berlariDAGs.

  3. Pilih Edit.

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

  2. Pilih lingkungan.

  3. Pilih Buka UI Aliran Udara.

Apa selanjutnya?

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