如何在Apache Airflow中配置带CSV附件的自定义邮件模板?
Apache Airflow EmailOperator 自定义模板配置问题
我需要通过Apache Airflow发送4个由其他Airflow DAG生成的CSV文件,想要设置subject_template和html_content_template,但不确定内容与格式。以下是当前的代码实现:
步骤1:导入模块
import pendulum from datetime import datetime, timedelta from airflow.utils.dates import days_ago from airflow import DAG from airflow.operators.bash import BashOperator from airflow.operators.python import PythonOperator from airflow.operators.email import EmailOperator local_tz = pendulum.timezone('Asia/Calcutta')
步骤2:初始化default_args
default_args = { 'owner' : 'analytics_dwbi', 'start_date': datetime(2023, 12,4, tzinfo= local_tz), 'email': ['analytics_dwbi@mjunction.in'], 'email_on_failure': False, 'email_on_retry': False, }
步骤3:创建DAG对象
with DAG( dag_id = 'email_weekly_reports', default_args = default_args, start_date = days_ago(1), schedule = '@once', template_searchpath = ['/home/dashadmin/Reportsfrom_MySQL_Weekly/'] ) as dag:
步骤4:创建任务
email_task = EmailOperator(task_id='email', to='amrapalli.karan@mjunction.in', subject='Weekly Reports', html_content="HTML content", files=['/home/dashadmin/Reportsfrom_MySQL_Weekly/KPI_Report1.csv','/home/dashadmin/Reportsfrom_MySQL_Weekly/KPI_Report2.csv','/home/dashadmin/Reportsfrom_MySQL_Weekly/KPI_Report3.csv','/home/dashadmin/Reportsfrom_MySQL_Weekly/KPI_Report4.csv'], )
步骤5:设置依赖
email_task
我已查阅多个示例:
- Airflow DAG:任务失败时发送自定义邮件
- Airflow官方文档:邮件配置指南
- Airflow自定义邮件模板设置方法
- Airflow模板与宏使用指南
- Python中Jinja模板创建教程
及其他更多示例,但使用其中的html_content_template示例后无法正常工作。
内容的提问来源于stack exchange,提问作者Ami
相关产品推荐
相关产品推荐

