Jinja ile yazma
Airflow ile daha çok çalıştıkça çeşitli bildirim geri çağrılarını ekledin ama her seferinde gelen kutuna aynı mesajların düştüğünü fark ettin. Konu satırı hep aynı olunca aradığın mesajı bulmak zorlaşıyor. Airflow'un Jinja desteğini okuyunca, artık her günün çalışması için Dag'lerinin rapor göndermesini sağlamak üzere ayırt edici bilgiler ekleyebileceğini anladın. Başlangıç olarak sales_update Dag'ini, başarıyla tamamlandığında şablonlanmış bir konu satırıyla sana e-posta gönderecek şekilde güncellemeye karar verdin.
Gerekli tüm Airflow içe aktarmaları hazır ve pull_sales_data ile generate_sales_report görevleri zaten tanımlı.
Bu egzersiz, kursun bir parçasıdır
Python ile Apache Airflow’a Giriş
Egzersiz talimatları
Dag'i hatasız tamamlandığında sana e-posta gönderecek şekilde ayarla.
Bildirim e-postası için
subjectözniteliğini ayarla.Konu satırında çalıştırma tarihini eklemek için bir Jinja şablonu kullan:
YYYY-MM-DD tarihi için satış güncellemesi başarıyla işlendi
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()