Escrevendo com Jinja
Conforme você passou a usar mais o Airflow, adicionou vários callbacks de notificação, mas percebeu que está recebendo as mesmas mensagens na sua caixa de entrada todas as vezes. Fica difícil encontrar uma mensagem quando o assunto é sempre o mesmo. Depois de ler sobre o suporte do Airflow a Jinja, você percebe que pode adicionar informações de identificação para garantir que seus Dags enviem um relatório para cada execução do dia. Você decidiu começar atualizando o Dag sales_update para lhe enviar um e-mail com um assunto baseado em template quando ele terminar com sucesso.
Todas as importações necessárias do Airflow já estão disponíveis, e as tarefas pull_sales_data e generate_sales_report já estão definidas.
Este exercicio faz parte do curso
Introdução ao Apache Airflow em Python
Instruções do exercicio
Configure o Dag para enviar um e-mail para você quando ele for concluído sem erro.
Defina o atributo
subjectpara o e-mail de notificação.Use um template Jinja para incluir a data da execução na linha de assunto:
Sales update successfully processed for YYYY-MM-DD
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Add a notification when successful, including date in the subject
@dag(start_date=datetime(2026,4,30),
____=SmtpNotifier(
from_email="[email protected]",
to="[email protected]",
____="Sales update successfully processed for {{ ____ }}"
))
def sales_update():
pull_sales_data() >> generate_sales_report()
sales_update()