Triển khai SmtpNotifier
Sau khi bạn đã tạo thành công một callback cho trường hợp thất bại, trưởng nhóm yêu cầu mọi lần chạy Dag thành công đều được gửi email đến alias của nhóm. Sau khi xem tài liệu Airflow, bạn quyết định dùng framework notifier tích hợp sẵn của Airflow là lựa chọn tốt nhất.
Các đối tượng dag và task đã được import, hàm callback alert_on_failure và các tác vụ get_sales_data và process_sales_data đã được định nghĩa sẵn cho bạn.
Bài tập này là một phần của khóa học
Giới thiệu về Apache Airflow bằng Python
Hướng dẫn bài tập
- Import đối tượng notifier SMTP.
- Thêm thuộc tính success callback cho Dag.
- Gửi thông báo đến [email protected].
- Bao gồm một tiêu đề (subject).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()