Реализация SmtpNotifier
Вы успешно создали callback-функцию для обработки ошибок, и теперь руководитель команды просит настроить отправку уведомлений об успешных запусках DAG на командный псевдоним электронной почты. Изучив документацию Airflow, вы решаете воспользоваться встроенным механизмом уведомлений Airflow.
Объекты dag и task уже импортированы, callback-функция alert_on_failure, а также задачи get_sales_data и process_sales_data уже определены.
Это упражнение является частью курса
Введение в Apache Airflow на Python
Инструкции к упражнению
- Импортируйте объект SMTP-уведомителя.
- Добавьте атрибут callback-функции успешного выполнения в 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()