Menulis dengan Jinja
Seiring Anda makin sering menggunakan Airflow, Anda menambahkan berbagai callback notifikasi namun menyadari bahwa Anda menerima pesan yang sama di kotak masuk setiap saat. Sulit menemukan pesan jika subjeknya selalu sama. Setelah membaca tentang dukungan Jinja di Airflow, Anda mengetahui bahwa Anda dapat menambahkan informasi identifikasi agar setiap Dag mengirimkan laporan untuk run setiap hari. Anda memutuskan untuk mulai dengan memperbarui Dag sales_update agar mengirim email dengan subjek yang ditempel (templated) ketika selesai dengan sukses.
Seluruh impor Airflow yang diperlukan sudah tersedia, dan tugas pull_sales_data serta generate_sales_report sudah didefinisikan.
Latihan ini merupakan bagian dari kursus
Pengantar Apache Airflow dengan Python
Instruksi latihan
Konfigurasikan Dag untuk mengirim email kepada Anda ketika selesai tanpa error.
Atur atribut
subjectuntuk email notifikasi.Gunakan template Jinja untuk menyertakan tanggal run di baris subjek:
Sales update successfully processed for YYYY-MM-DD
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Add a notification when successful, including date in the subject
@dag(start_date=datetime(2026,4,30),
____=SmtpNotifier(
from_email="[email protected]",
to="[email protected]",
____="Sales update successfully processed for {{ ____ }}"
))
def sales_update():
pull_sales_data() >> generate_sales_report()
sales_update()