As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como usar opções de configuração do Apache Airflow no Amazon MWAA
As opções de configuração do Apache Airflow podem ser anexadas ao seu ambiente Amazon Managed Workflows for Apache Airflow como variáveis de ambiente. Você pode escolher na lista suspensa sugerida ou especificar opções de configuração personalizadas para sua versão do Apache Airflow no console Amazon MWAA. Este tópico descreve as opções de configuração do Apache Airflow disponíveis e como usá-las para substituir as configurações do Apache Airflow em seu ambiente.
Sumário
Pré-requisitos
Você precisará do seguinte antes de concluir as etapas nesta página.
-
Permissões — Seu administrador Conta da AWS deve ter concedido acesso à política de controle de MWAAFull ConsoleAccess acesso da Amazon para seu ambiente. Além disso, seu ambiente Amazon MWAA deve ser autorizado pela sua função de execução para acessar os AWS recursos usados pelo seu ambiente.
-
Acesso — Se você precisar de acesso a repositórios públicos para instalar dependências diretamente no servidor web, seu ambiente deverá ser configurado com acesso ao servidor web de rede pública. Para obter mais informações, consulte Modos de acesso do Apache Airflow.
-
Configuração do Amazon S3 — O bucket do Amazon S3 usado para armazenar DAGs seus plug-ins
plugins.zippersonalizados e dependências do Python deve ser configurado com acesso públicorequirements.txtbloqueado e controle de versão ativado.
Como funciona
Quando você cria um ambiente, o Amazon MWAA anexa as definições de configuração que você especifica no console do Amazon MWAA nas opções de configuração do Airflow como variáveis de ambiente ao contêiner do seu ambiente. AWS Fargate Se você estiver usando uma configuração com o mesmo nome em airflow.cfg, as opções especificadas no console do Amazon MWAA substituirão os valores em airflow.cfg.
Embora não o exponhamos airflow.cfg na interface de usuário do Apache Airflow de um ambiente do Amazon MWAA por padrão, é possível alterar as opções de configuração do Apache Airflow diretamente no console do Amazon MWAA, incluindo a configuração webserver.expose_config para expor as definições.
Usando opções de configuração para carregar plug-ins
Por padrão, no Apache Airflow v2 e versões posteriores, os plug-ins são configurados para serem carregados “lentamente” usando a configuração. core.lazy_load_plugins : True Se você estiver usando plug-ins personalizados, deverá adicionar core.lazy_load_plugins : False uma opção de configuração do Apache Airflow para carregar plug-ins no início de cada processo do Airflow para substituir a configuração padrão.
Visão geral das opções de configuração
Ao adicionar uma configuração no console do Amazon MWAA, o Amazon MWAA grava a configuração como uma variável de ambiente.
-
Opções listadas. É possível escolher uma das configurações disponíveis para sua versão do Apache Airflow na lista suspensa. Por exemplo,
dag_concurrency:16. A configuração é traduzida para o contêiner Fargate do seu ambiente comoAIRFLOW__CORE__DAG_CONCURRENCY : 16 -
Opções personalizadas. Também é possível especificar as opções de configuração do Airflow que não estão listadas para sua versão do Apache Airflow na lista suspensa. Por exemplo,
foo.user:YOUR_USER_NAME. A configuração é traduzida para o contêiner Fargate do seu ambiente comoAIRFLOW__FOO__USER : YOUR_USER_NAME
Opções de configuração do Apache Airflow
A imagem a seguir mostra onde você pode personalizar as opções de configuração do Apache Airflow no console Amazon MWAA.
Referência do Apache Airflow
Para obter uma lista das opções de configuração suportadas pelo Apache Airflow, consulte Referência de configuração no guia de referência do
Como usar o console do Amazon SNS
O procedimento a seguir descreve as etapas para adicionar uma opção de configuração do Airflow ao seu ambiente.
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha um ambiente.
-
Escolha Editar.
-
Escolha Próximo.
-
Escolha Adicionar configuração personalizada no painel Opções de configuração do Airflow.
-
Escolha uma configuração na lista suspensa e insira um valor, ou insira uma configuração personalizada e insira um valor.
-
Escolha Adicionar configuração personalizada para cada configuração que você deseja adicionar.
-
Escolha Salvar.
Referência da configuração
A seção a seguir contém a lista de configurações disponíveis do Apache Airflow na lista suspensa no console do Amazon MWAA.
Configurações de e-mail
A lista a seguir exibe as opções de configuração de notificação por e-mail do Airflow disponíveis no Amazon MWAA para o Apache Airflow v2 e v3.
Recomendamos usar a porta 587 para tráfego SMTP. Por padrão, AWS bloqueia o tráfego SMTP de saída na porta 25 de todas as instâncias da Amazon EC2 . Se precisar enviar tráfego de saída na porta 25, é possível solicitar que essa restrição seja removida
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
email.email_backend |
O utilitário do Apache Airflow usado para notificações por e-mail em email_backend |
airflow.utils.email.send_email_smtp |
|
smtp.smtp_host |
O nome do servidor de saída usado para o endereço de e-mail em smtp_host |
localhost |
|
smtp.smtp_starttls |
O Transport Layer Security (TLS) é usado para criptografar o e-mail pela Internet em smtp_starttls. |
Falso |
|
smtp.smtp_ssl |
O Secure Sockets Layer (SSL) é usado para conectar o servidor e o e-mail de cliente em smtp_ssl. |
Verdadeiro |
|
smtp.smtp_port |
A porta Transmission Control Protocol (TCP) designada para o servidor em smtp_port |
587 |
|
smtp.smtp_mail_from |
O endereço de e-mail de saída em smtp_mail_from |
myemail@domain.com |
Configurações da tarefa
A lista a seguir exibe as configurações disponíveis na lista suspensa para tarefas do Airflow no Amazon MWAA para Apache Airflow v2 e v3.
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
core.default_task_retries |
O número de vezes para repetir uma tarefa do Apache Airflow em default_task_retries |
3 |
|
core.parallelism |
O número máximo de instâncias de tarefas que podem ser executadas simultaneamente em todo o ambiente em paralelo (paralelismo |
40 |
Configurações de scheduler
A lista a seguir exibe as configurações do agendador do Apache Airflow disponíveis na lista suspensa do Amazon MWAA para o Apache Airflow v2 e v3.
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
scheduler.catchup_by_default |
Solicita ao scheduler que crie uma execução do DAG para “acompanhar” o intervalo de tempo específico em catchup_by_default |
Falso |
|
scheduler.scheduler_zombie_task_threshold notaNão disponível no Apache Airflow v3. |
Informa ao agendador se a instância da tarefa deve ser marcada como falha e reprogramar a tarefa em scheduler_zombie_task_threshold. |
300 |
Configurações de trabalhadores
A lista a seguir exibe as configurações do Airflow worker disponíveis na lista suspensa do Amazon MWAA para Apache Airflow v2 e v3.
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
celery.worker_autoscale |
O número máximo e mínimo de tarefas que podem ser executadas simultaneamente em qualquer operador usando o Executor Celery |
16,12 |
Configurações do servidor Web
A lista a seguir exibe as configurações do servidor web Apache Airflow disponíveis na lista suspensa no Amazon MWAA para Apache Airflow v2 e v3.
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
webserver.default_ui_timezone notaNão disponível no Apache Airflow v3. |
A configuração padrão de data e hora do IU do Apache Airflow em default_ui_timezone. notaDefinir a |
America/New_York |
Configurações do acionador
A lista a seguir mostra as configurações de acionamento do Apache Airflow
| Opção de configuração do Airflow | Description | Valor de exemplo |
|---|---|---|
|
mwaa.triggerer_enabled |
Usado para ativar e desativar o acionador no Amazon MWAA. Por padrão, esse valor é definido como |
Verdadeiro |
|
triggerer.default_capacity (na v2) triggerer.capacity (na v3) |
Define o número de acionadores que cada acionador pode executar em paralelo. No Amazon MWAA, essa capacidade é definida por cada acionador e por cada agendador, pois os dois componentes são executados lado a lado. O padrão por programador é definido como |
125 |
Exemplos e código de exemplo
Exemplo de DAG
É possível usar o seguinte DAG para imprimir suas opções de configuração do Apache Airflow email_backend. Para executar em resposta aos eventos do Amazon MWAA, copie o código para a DAGs pasta do seu ambiente no seu bucket de armazenamento do Amazon S3.
from airflow.decorators import dag from datetime import datetime def print_var(**kwargs): email_backend = kwargs['conf'].get(section='email', key='email_backend') print("email_backend") return email_backend @dag( dag_id="print_env_variable_example", schedule_interval=None, start_date=datetime(yyyy,m,d), catchup=False, ) def print_variable_dag(): email_backend_test = PythonOperator( task_id="email_backend_test", python_callable=print_var, provide_context=True ) print_variable_test = print_variable_dag()
Exemplo de configurações de notificação por e-mail
As seguintes opções de configuração do Apache Airflow podem ser usadas para uma conta de e-mail do Gmail.com usando uma senha de aplicativo. Para obter mais informações, consulte Fazer login usando senhas de aplicativos
Próximas etapas
-
Aprenda a fazer upload de sua pasta do DAG para seu bucket do Amazon S3 em Adicionando ou atualizando DAGs.