airflow:电子邮件配置



我正在安排一项任务,以便从Airflow 2.1.1发送电子邮件。我已经在airflow.cfg文件中正确配置了smtp参数

smtp_host = mr.my_domain.com
smtp_starttls = False
smtp_ssl = True
smtp_user = email@my_domain.com
smtp_password = ********
smtp_port = 465
smtp_mail_from = email@my_domain.com
smtp_timeout = 30
smtp_retry_limit = 5

如果我从cli测试任务,则电子邮件发送正确,但我会收到以下警报消息:

..../lib/python3.6/site-packages/airflow/utils/email.py:101 PendingDeprecationWarning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead.

来自GUI的消息是:

INFO - Marking task as FAILED.

因此,我正试图创建一个如文档中所述的连接:

https://airflow.apache.org/docs/apache-airflow/stable/howto/email-config.html

若要配置SMTP凭据,请创建一个名为SMTP_default的连接,或者选择一个自定义连接名称并在email_conn_id中进行设置

但在创建新连接时,SMTP不在选项中。

我希望你能帮我一把,提前非常感谢你。

关于电子邮件配置的文档最近由该PR更新。由于您正在查看文档的稳定版本,因此直到下一个Airflow版本发布时才会反映出来。

如果您不想将SMTP凭据存储在配置或对于环境变量,可以创建一个名为smtp_default,或者选择自定义连接名称并设置CCD_ 2及其在配置中的名称&存储SMTP用户名密码。其他SMTP设置,如主机、端口等总是只从配置中获取。连接可以可以是任何类型(例如"HTTP连接"(。

我认为可能让你困惑的是PR中的更改添加了:

# Email connection to use
email_conn_id = smtp_default

对于airflow.cfg,这是因为有几个可以发送电子邮件的服务(smtp/SES/Sendgrid setc..(需要标准化。

最新更新