Como usar opções de configuração do Apache Airflow no Amazon MWAA - Amazon Managed Workflows for Apache Airflow

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. É possível escolher na lista suspensa sugerida ou especificar opções de configuração personalizadas para sua versão do Apache Airflow no console Amazon MWAA. Esta página descreve as opções de configuração do Apache Airflow disponíveis e como usar essas opções para substituir as configurações do Apache Airflow em seu ambiente.

Pré-requisitos

Você precisará do seguinte antes de concluir as etapas nesta página.

  • Permissões — Seu AWS administrador deve ter concedido acesso à política de controle de FullConsoleacesso do AmazonMWAA 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 ter mais informações, consulte Modos de acesso do Apache Airflow.

  • Configuração do Amazon S3: o bucket do Amazon S3 usado para armazenar seus DAGs, plug-ins personalizados em plugins.zip e dependências do Python em requirements.txt deve ser configurado com Acesso público bloqueado e Versionamento habilitado.

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 exponhamos o airflow.cfg na interface do usuário do Apache Airflow de um ambiente Amazon MWAA por padrão, você pode alterar as opções de configuração do Apache Airflow diretamente no console do Amazon MWAA, incluindo a configuração para expor as configurações. webserver.expose_config

Como usar opções de configuração para fazer upload de plug-ins no Apache Airflow v2

Por padrão, no Apache Airflow v2, os plug-ins são configurados para terem o upload sendo feito “lentamente” usando a configuração core.lazy_load_plugins : True. Se você estiver usando plug-ins personalizados no Apache Airflow v2, deverá adicionar core.lazy_load_plugins : False uma opção de configuração do Apache Airflow para fazer upload de 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 como AIRFLOW__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 como AIRFLOW__FOO__USER : YOUR_USER_NAME

Opções de configuração do Apache Airflow

A imagem a seguir mostra onde é possível personalizar as opções de configuração do Apache Airflow no console do Amazon MWAA.

Esta imagem mostra onde é possível 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 que tem suporte pelo Apache Airflow, consulte Referência de configuração no Guia de referência do Apache Airflow. Para ver as opções da versão do Apache Airflow que você está executando no Amazon MWAA, selecione a versão na lista suspensa.

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.

  1. Abra a página Ambientes no console do Amazon MWAA.

  2. Escolha um ambiente.

  3. Selecione a opção Editar.

  4. Escolha Próximo.

  5. Escolha Adicionar configuração personalizada no painel Opções de configuração do Airflow.

  6. Escolha uma configuração na lista suspensa e insira um valor, ou digite uma configuração personalizada e insira um valor.

  7. Escolha Adicionar configuração personalizada para cada configuração que você deseja adicionar.

  8. 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 mostra as opções de configuração de notificação por e-mail do Airflow disponíveis no Amazon MWAA.

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 do Amazon EC2. Se precisar enviar tráfego de saída na porta 25, é possível solicitar que essa restrição seja removida.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2

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

v2

smtp.smtp_host

O nome do servidor de saída usado para o endereço de e-mail em smtp_host.

localhost

v2

smtp.smtp_starttls

O Transport Layer Security (TLS) é usado para criptografar o e-mail pela Internet em smtp_starttls.

Falso

v2

smtp.smtp_ssl

O Secure Sockets Layer (SSL) é usado para conectar o servidor e o e-mail de cliente em smtp_ssl.

Verdadeiro

v2

smtp.smtp_port

A porta Transmission Control Protocol (TCP) designada para o servidor em smtp_port.

587

v2

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 mostra as configurações disponíveis na lista suspensa para tarefas do Airflow no Amazon MWAA.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2

core.default_task_retries

O número de vezes para repetir uma tarefa do Apache Airflow em default_task_retries.

3

v2

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 mostra as configurações do scheduler Apache Airflow disponíveis na lista suspensa do Amazon MWAA.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2

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

v2

scheduler.scheduler_zombie_task_threshold

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 do operador

A lista a seguir mostra as configurações de operadores do Airflow disponíveis na lista suspensa do Amazon MWAA.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2

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 em worker_autoscale. O valor deve ser separado por vírgula na seguinte ordem: max_concurrency,min_concurrency.

16,12

Configurações do servidor da Web

A lista a seguir mostra as configurações de servidores Web do Airflow disponíveis na lista suspensa do Amazon MWAA.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2

webserver.default_ui_timezone

A configuração padrão de data e hora do IU do Apache Airflow em default_ui_timezone.

nota

Definir a opção default_ui_timezone não altera o fuso horário no qual seus DAGs estão programados para serem executados. Para alterar o fuso horário dos DAGs, é possível usar um plug-in personalizado. Para ter mais informações, consulte Como alterar o fuso horário de um DAG no Amazon MWAA.

America/New_York

Configurações do acionador

A lista a seguir mostra as configurações do acionador do Apache Airflow disponíveis no Amazon MWAA.

Apache Airflow v2
Versão Airflow Opção de configuração do Airflow Descrição Valor de exemplo

v2.7

mwaa.triggerer_enabled

Usado para ativar e desativar o acionador no Amazon MWAA. Por padrão, esse valor é definido como True. Se definido como False, o Amazon MWAA não iniciará nenhum processo acionador nos agendadores.

Verdadeiro

v2.7

triggerer.default_capacity

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 agendador é definido como60,, 125 250500, e 1000 para instâncias pequenas, médias e grandes, xlarge e 2xlarge, respectivamente.

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 pasta DAGs 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 no guia de referência da Ajuda do Gmail.

Esta imagem mostra como configurar uma conta de e-mail gmail.com usando as opções de configuração do Apache Airflow no console do MWAA.

Próximas etapas