Письма с Airflow - PullRequest
       19

Письма с Airflow

0 голосов
/ 30 августа 2018

Нужно ли выполнять какие-либо дополнительные настройки, чтобы apache-airflow мог отправлять мне электронные письма при сбое задачи. В моем конфигурационном файле есть следующее (без изменений по умолчанию):

[email]
email_backend = airflow.utils.email.send_email_smtp


[smtp]
# If you want airflow to send emails on retries, failure, and you want to use
# the airflow.utils.email.send_email_smtp function, you have to configure an
# smtp server here
smtp_host = localhost
smtp_starttls = True
smtp_ssl = False
# Uncomment and set the user/pass settings if you want to use SMTP AUTH
# smtp_user = airflow
# smtp_password = airflow
smtp_port = 25
smtp_mail_from = airflow@example.com

и в моей задаче

'email': ['my.email@domain.co.uk'],
'email_on_failure': True,

Но это не отправляет мне электронные письма, когда задача не выполняется.

Я видел этот вопрос: Как настроить конфигурацию электронной почты Airflow для отправки электронного письма об ошибках? , но я не совсем понял, какие действия предпринять. Я просто ищу основы того, что нужно сделать, прежде чем airflow отправит электронные письма. Нужно ли мне настраивать свой собственный SMTP-сервер или он должен работать?

Я использую apache-airflow 1.9.0 на CentOS

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Существует подпакет Sendgrid, доступный в вкладке airflow, если вы предпочитаете использовать Sendgrid https://github.com/apache/airflow/blob/master/airflow/contrib/utils/sendgrid.py

А затем просто следуйте инструкциям, указанным в ссылке.

    0. include sendgrid subpackage as part of your Airflow installation, e.g.,
    pip install apache-airflow[sendgrid] 

    1. update [email] backend in airflow.cfg, i.e.,
    [email]
    email_backend = airflow.contrib.utils.sendgrid.send_email

    2. configure Sendgrid specific environment variables at all Airflow instances:
    SENDGRID_MAIL_FROM={your-mail-from}
    SENDGRID_API_KEY={your-sendgrid-api-key}.
0 голосов
/ 30 августа 2018

Вам понадобится собственный сервис SMTP. Мы используем Mailgun и Sendgrid внутренне, и это работает довольно хорошо. Вам просто нужно поменять эти строки в вашем .cfg с вашими учетными данными, перезапустить поток воздуха, и все будет хорошо!

...