实现 SmtpNotifier
既然您已经成功创建了失败回调,团队负责人现在要求:每次 Dag 成功运行后,都要向团队别名发送电子邮件。您查阅了 Airflow 文档后,决定使用 Airflow 内置的通知器框架是最佳方案。
dag 和 task 对象已经导入,alert_on_failure 回调函数以及 get_sales_data 和 process_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()