始める無料で始める

SmtpNotifier の実装

失敗コールバックの作成に成功したことで、チームリードからすべての DAG 実行が成功した際にチームの共有メールアドレスへ通知を送るよう依頼されました。Airflow のドキュメントを確認した結果、Airflow 組み込みの通知フレームワークを使うのが最善の方法だと判断しました。

dagtask オブジェクトはすでにインポート済みです。また、alert_on_failure コールバック関数、および get_sales_dataprocess_sales_data タスクはすでに定義されています。

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

Python で学ぶ Apache Airflow 入門

コースを見る

演習の手順

  • SMTP 通知オブジェクトをインポートしてください。
  • DAG に成功コールバックの属性を追加してください。
  • 通知の送信先を [email protected] に設定してください。
  • 件名を含めてください。

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

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

# Import the notifier
from airflow.providers.smtp.notifications.smtp import ____

# Add a success callback notifier
@dag(dag_id='sales_etl_dag',
     on_failure_callback=alert_on_failure,
     ____=SmtpNotifier(
         to="____",
         from_email="[email protected]",
         ____="sales_etl_dag run succeeded!"
     ))
def sales_etl_dag():
  get_sales_data() >> process_sales_data()
  
sales_etl_dag()
コードを編集して実行