开始使用免费开始使用

使用 Jinja 编写

随着您更多地使用 Airflow,您添加了各种通知回调,但发现每次收件箱里都是相同的消息。主题始终一样,导致很难定位具体哪一封。阅读了 Airflow 对 Jinja 的支持后,您意识到可以加入一些标识信息,确保您的 Dags 为每天的运行各自发送报告。您决定先从更新 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()
编辑并运行代码