Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O trabalho do Apache Airflow é da plataforma Apache Airflow.
O Apache Airflow inclui um recurso poderoso que permite enviar notificações e alertas por email quando as tarefas falham, são bem-sucedidas ou precisam ser repetidas. Essa funcionalidade é essencial para monitorar seus fluxos de trabalho e solucionar problemas que possam surgir.
Para habilitar notificações e alertas por email, você precisa configurar um servidor SMTP que possa enviar emails em nome do Airflow. O SMTP é um protocolo padrão para enviar e receber emails pela Internet. Você pode usar seu próprio servidor SMTP ou um serviço de terceiros como Outlook, Gmail, SendGrid ou Mailgun. Este artigo demonstra como configurar um servidor SMTP para seu trabalho do Apache Airflow usando o Gmail.
Pré-requisitos
Servidor SMTP: você precisa do host SMTP, porta, nome de usuário e senha para seu servidor ou serviço. Se estiver usando o Gmail, crie uma senha de aplicativo para sua conta.
Um endereço de email que você deseja usar como remetente das notificações e alertas. Esse endereço de e-mail pode ser o mesmo que seu nome de usuário SMTP ou um endereço diferente se o serviço SMTP permitir.
Um ou mais endereços de e-mail para receber as notificações e alertas. Podem ser os seus próprios endereços de e-mail ou os endereços de e-mail dos membros da sua equipe, partes interessadas ou clientes.
Configurar as variáveis de ambiente
Depois de preparar os pré-requisitos, você poderá configurar o trabalho do Apache Airflow para usar seu servidor ou serviço SMTP. Edite a seção
Airflow configurations
com os campos a seguir:- AIRFLOW__SMTP__SMTP_HOST: o nome do host ou o endereço IP do servidor ou serviço SMTP.
- AIRFLOW__SMTP__SMTP_STARTTLS: Indica se deve usar a criptografia TLS (Transport Layer Security) ao se conectar ao seu servidor ou serviço SMTP. Defina essa configuração como True se o servidor ou serviço SMTP oferecer suporte a TLS ou False caso contrário.
- AIRFLOW__SMTP__SMTP_SSL: Indica se deve usar a criptografia SSL (Secure Sockets Layer) ao se conectar ao seu servidor ou serviço SMTP. Defina essa configuração como True se o servidor ou serviço SMTP exigir SSL ou False caso contrário.
- AIRFLOW__SMTP__SMTP_USER: o nome de usuário do seu servidor ou serviço SMTP. Esse nome de usuário geralmente é seu endereço de e-mail ou uma chave de API se você estiver usando o SendGrid.
- AIRFLOW__SMTP__SMTP_PASSWORD: a senha do seu servidor ou serviço SMTP. Essa senha geralmente é sua senha de e-mail ou uma senha de aplicativo se você estiver usando o Gmail.
- AIRFLOW__SMTP__SMTP_PORT: o número da porta para seu servidor ou serviço SMTP. Essa porta geralmente é 25, 465 ou 587, dependendo do método de criptografia e do serviço SMTP.
- AIRFLOW__SMTP__SMTP_MAIL_FROM: o endereço de email que você deseja usar como remetente das notificações e alertas. Esse e-mail pode ser o mesmo que seu nome de usuário SMTP ou um diferente se o serviço SMTP permitir.
Se você estiver usando o Gmail, consulte os seguintes valores.
Configuração do Airflow Gmail AIRFLOW__SMTP__SMTP_HOST smtp.gmail.com AIRFLOW__SMTP__SMTP_STARTTLS Verdadeiro AIRFLOW__SMTP__SMTP_SSL Falso AIRFLOW__SMTP__SMTP_USER your_email@gmail.com AIRFLOW__SMTP__SMTP_PASSWORD sua_senha_do_app AIRFLOW__SMTP__SMTP_PORT 587 AIRFLOW__SMTP__SMTP_MAIL_FROM your_email@gmail.com
Exemplo: um DAG que envia um email sobre a falha do DAG
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils.email import send_emailfrom datetime import datetime
default_args = {
"owner": "airflow",
"start_date": datetime(2024, 3, 1),
"email": ["your_email@gmail.com"], # The email address that you want to receive the notifications and alerts
"email_on_failure": True,
"email_on_retry": False,
"retries": 0
}
with DAG(
"email_callback_test",
default_args=default_args,
schedule_interval=None
) as dag:
fail_task = BashOperator(
task_id="fail_task",
bash_command="cd fail",
)
fail_task
E-mail de exemplo recebido do servidor SMTP
O email contém as seguintes informações:
Número de tentativas
Erro
Log: link que redireciona para os logs de tarefas com falha.
Host: nome do host do trabalho do Apache Airflow
Host: nome do host do trabalho do Apache Airflow
Marcar êxito: link que redireciona para o estado DAG com falha.