Usando as opções de configuração do Apache Airflow na 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á.

Usando as opções de configuração do Apache Airflow na 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 da 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.

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 mazonMWAAFull ConsoleAccess acesso A para seu ambiente pelo administrador. Além disso, seu MWAA ambiente Amazon deve ser autorizado pela sua função de execução a 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.zip personalizados e dependências do Python deve ser configurado com acesso público requirements.txt bloqueado e controle de versão ativado.

Como ele funciona

Quando você cria um ambiente, a Amazon MWAA anexa as configurações especificadas no MWAA console da Amazon nas opções de configuração do Airflow como variáveis de ambiente ao AWS Fargate contêiner do seu ambiente. Se você estiver usando uma configuração com o mesmo nome emairflow.cfg, as opções especificadas no MWAA console da Amazon substituirão os valores emairflow.cfg.

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

Quando você adiciona uma configuração no MWAA console da Amazon, a 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 você pode personalizar as opções de configuração do Apache Airflow no console da AmazonMWAA.

Esta imagem mostra onde você pode personalizar as opções de configuração do Apache Airflow no console da AmazonMWAA.

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 na AmazonMWAA, selecione a versão na lista suspensa.

Usando o MWAA console da Amazon

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 MWAA console da Amazon.

  2. Escolha um ambiente.

  3. Selecione 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 da 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 na AmazonMWAA.

Recomendamos usar a porta 587 para SMTP tráfego. Por padrão, AWS bloqueia o SMTP tráfego de saída na porta 25 de todas as EC2 instâncias da Amazon. 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 cliente de e-mail em smtp_ssl.

Verdadeiro

v2

smtp.smtp_port

A porta do 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 na 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 agendador Apache Airflow disponíveis na lista suspensa da 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

Diz ao agendador que crie uma DAG execução 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 trabalhadores do Airflow disponíveis na lista suspensa da 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 do servidor web Airflow disponíveis na lista suspensa da 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 default_ui_timezone opção não altera o fuso horário no qual você DAGs está programado para correr. Para alterar o fuso horário do seuDAGs, você pode usar um plug-in personalizado. Para obter 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 de acionamento do Apache Airflow disponíveis na 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 gatilho na Amazon. MWAA Por padrão, esse valor é definido como True. Se definido comoFalse, a Amazon não MWAA iniciará nenhum processo de acionamento nos agendadores.

Verdadeiro

v2.7

triggerer.default_capacity

Define o número de acionadores que cada acionador pode executar em paralelo. Na AmazonMWAA, essa capacidade é definida por cada acionador e por cada programador, pois os dois componentes funcionam lado a lado. O padrão por programador é definido como 60, 125, 250, 500 e 1000 para instâncias pequenas, médias, grandes, extragrandes e extra extragrandes, respectivamente.

125

Exemplos e código de exemplo

Exemplo DAG

Você pode usar o seguinte DAG para imprimir suas opções de configuração do email_backend Apache Airflow. Para executar em resposta aos MWAA eventos da Amazon, copie o código para a DAGs pasta do seu ambiente no 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. MWAA

Próximas etapas