始める無料で始める

Jinja を使った記述

Airflow を使い慣れてきたところで、さまざまな通知コールバックを追加しましたが、受信トレイに届くメッセージがいつも同じ内容で困っています。件名が毎回同じでは、目的のメッセージを見つけるのが大変です。Airflow の Jinja サポートについて調べたところ、件名に識別情報を追加して、DAG が実行されるたびにその日付を含むレポートを送れることがわかりました。まずは sales_update DAG を更新して、正常完了時にテンプレート化された件名のメールを受け取れるようにしましょう。

必要な Airflow のインポートはすでに用意されており、タスク pull_sales_datagenerate_sales_report も定義済みです。

この演習はコースの一部です

Python で学ぶ Apache Airflow 入門

コースを見る

演習の手順

  • DAG がエラーなく完了したときにメールが届くよう設定してください。

  • 通知メールの subject 属性を設定してください。

  • Jinja テンプレートを使って、件名に実行日付を含めてください。

    Sales update successfully processed for YYYY-MM-DD

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行