View a markdown version of this page

Utilizzo delle opzioni di configurazione di Apache Airflow su Amazon MWAA - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle opzioni di configurazione di Apache Airflow su Amazon MWAA

Le opzioni di configurazione di Apache Airflow possono essere collegate all'ambiente Amazon Managed Workflows for Apache Airflow come variabili di ambiente. Puoi scegliere dall'elenco a discesa suggerito o specificare opzioni di configurazione personalizzate per la tua versione di Apache Airflow sulla console Amazon MWAA. Questo argomento descrive le opzioni di configurazione di Apache Airflow disponibili e come utilizzarle per sovrascrivere le impostazioni di configurazione di Apache Airflow nel tuo ambiente.

Prerequisiti

Avrai bisogno di quanto segue prima di poter completare i passaggi indicati in questa pagina.

  • Autorizzazioni: l'amministratore Account AWS deve aver ottenuto l'accesso alla politica di controllo degli AmazonMWAAFullConsoleAccess accessi per il proprio ambiente. Inoltre, il tuo ruolo di esecuzione deve consentire all'ambiente Amazon MWAA di accedere alle AWS risorse utilizzate dal tuo ambiente.

  • Accesso: se hai bisogno di accedere ai repository pubblici per installare le dipendenze direttamente sul server web, il tuo ambiente deve essere configurato con l'accesso al server web della rete pubblica. Per ulteriori informazioni, vedi Modalità di accesso ad Apache Airflow.

  • Configurazione di Amazon S3: il bucket Amazon S3 utilizzato per archiviare i DAG, i plug-in personalizzati e le dipendenze Python deve essere configurato con Public plugins.zip Access Blocked e Versioning Enabled. requirements.txt

Come funziona

Quando crei un ambiente, Amazon MWAA allega le impostazioni di configurazione specificate nella console Amazon MWAA nelle opzioni di configurazione Airflow come variabili di ambiente al contenitore per il tuo ambiente. AWS Fargate Se utilizzi un'impostazione con lo stesso nome inairflow.cfg, le opzioni specificate nella console Amazon MWAA hanno la precedenza sui valori in. airflow.cfg

Sebbene per impostazione predefinita non le esponiamo airflow.cfg nell'interfaccia utente di Apache Airflow di un ambiente Amazon MWAA, puoi modificare le opzioni di configurazione di Apache Airflow direttamente sulla console Amazon MWAA, incluse le impostazioni per l'esposizione delle configurazioni. webserver.expose_config

Utilizzo delle opzioni di configurazione per caricare i plugin

Per impostazione predefinita in Apache Airflow v2 e versioni successive, i plugin sono configurati per essere caricati «pigramente» utilizzando l'impostazione. core.lazy_load_plugins : True Se utilizzate plugin personalizzati, dovete aggiungerli core.lazy_load_plugins : False come opzione di configurazione di Apache Airflow per caricare i plugin all'inizio di ogni processo Airflow per sovrascrivere l'impostazione predefinita.

Panoramica delle opzioni di configurazione

Quando aggiungi una configurazione sulla console Amazon MWAA, Amazon MWAA scrive la configurazione come variabile di ambiente.

  • Opzioni elencate. Puoi scegliere una delle impostazioni di configurazione disponibili per la tua versione di Apache Airflow nell'elenco a discesa. Ad esempio, dag_concurrency : 16. L'impostazione di configurazione viene tradotta nel contenitore Fargate dell'ambiente come AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • Opzioni personalizzate. Puoi anche specificare le opzioni di configurazione Airflow che non sono elencate per la tua versione di Apache Airflow nell'elenco a discesa. Ad esempio, foo.user : YOUR_USER_NAME. L'impostazione di configurazione viene tradotta nel contenitore Fargate dell'ambiente come AIRFLOW__FOO__USER : YOUR_USER_NAME

Opzioni di configurazione di Apache Airflow

L'immagine seguente mostra dove è possibile personalizzare le opzioni di configurazione di Apache Airflow sulla console Amazon MWAA.

Questa immagine mostra dove è possibile personalizzare le opzioni di configurazione di Apache Airflow sulla console Amazon MWAA.

Riferimento ad Apache Airflow

Per un elenco delle opzioni di configurazione supportate da Apache Airflow, consultate Configuration Reference nella guida di riferimento di Apache Airflow. Per accedere alle opzioni per la versione di Apache Airflow in esecuzione su Amazon MWAA, seleziona la versione dall'elenco a discesa.

Utilizzo della console Amazon MWAA

La procedura seguente illustra i passaggi necessari per aggiungere un'opzione di configurazione Airflow al tuo ambiente.

  1. Apri la pagina Ambienti sulla console Amazon MWAA.

  2. Scegli un ambiente.

  3. Scegli Modifica.

  4. Scegli Next (Successivo).

  5. Scegliete Aggiungi configurazione personalizzata nel riquadro delle opzioni di configurazione Airflow.

  6. Scegliete una configurazione dall'elenco a discesa e immettete un valore, oppure inserite una configurazione personalizzata e immettete un valore.

  7. Scegli Aggiungi configurazione personalizzata per ogni configurazione che desideri aggiungere.

  8. Scegli Save (Salva).

Informazioni di riferimento sulla configurazione

La sezione seguente contiene l'elenco delle configurazioni di Apache Airflow disponibili nell'elenco a discesa sulla console Amazon MWAA.

Configurazioni e-mail

L'elenco seguente mostra le opzioni di configurazione delle notifiche e-mail Airflow disponibili su Amazon MWAA per Apache Airflow v2 e v3.

Consigliamo di utilizzare la porta 587 per il traffico SMTP. Per impostazione predefinita, AWS blocca il traffico SMTP in uscita sulla porta 25 di tutte le istanze Amazon EC2. Se desideri inviare traffico in uscita sulla porta 25, puoi richiedere la rimozione di questa restrizione.

Opzione di configurazione Airflow Description Valore di esempio

email.email_backend

L'utilità Apache Airflow utilizzata per le notifiche e-mail in email_backend. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#email-backend

airflow.utils.email.send_email_smtp

smtp.smtp_host

Il nome del server in uscita utilizzato per l'indirizzo e-mail in smtp_host. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-host

localhost

smtp.smtp_starttls

Transport Layer Security (TLS) viene utilizzato per crittografare le e-mail su Internet in smtp_starttls. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-starttls

False

smtp.smtp_ssl

Secure Sockets Layer (SSL) viene utilizzato per connettere il server e il client di posta elettronica in smtp_ssl. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-ssl

True

smtp.smtp_port

La porta TCP (Transmission Control Protocol) designata al server in smtp_port. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-port

587

smtp.smtp_mail_from

L'indirizzo email in uscita in smtp_mail_from. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-mail-from

myemail@domain.com

Configurazioni delle attività

L'elenco seguente mostra le configurazioni disponibili nell'elenco a discesa per le attività Airflow su Amazon MWAA per Apache Airflow v2 e v3.

Opzione di configurazione Airflow Description Valore di esempio

core.default_task_retries

Il numero di volte in cui riprovare un'attività di Apache Airflow in default_task_retries. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#default-task-retries

3

core.parallelism

Il numero massimo di istanze di attività che possono essere eseguite simultaneamente nell'intero ambiente in parallelo (parallelismo). https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#parallelism

40

Configurazioni dello Scheduler

L'elenco seguente mostra le configurazioni dello scheduler Apache Airflow disponibili nell'elenco a discesa su Amazon MWAA per Apache Airflow v2 e v3.

Opzione di configurazione Airflow Description Valore di esempio

scheduler.catchup_by_default

Indica allo scheduler di creare un'esecuzione DAG per «recuperare» l'intervallo di tempo specifico in catchup_by_default. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#catchup-by-default

False

scheduler.scheduler_zombie_task_threshold

Nota

Non disponibile in Apache Airflow v3.

Indica allo scheduler se contrassegnare l'istanza dell'attività come fallita e riprogrammare l'attività in scheduler_zombie_task_threshold. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#scheduler-zombie-task-threshold

300

Configurazioni dei lavoratori

L'elenco seguente mostra le configurazioni dei lavoratori Airflow disponibili nell'elenco a discesa su Amazon MWAA per Apache Airflow v2 e v3.

Opzione di configurazione Airflow Description Valore di esempio

celery.worker_autoscale

Il numero massimo e minimo di attività che possono essere eseguite contemporaneamente su qualsiasi lavoratore che utilizza Celery Executor in worker_autoscale. https://airflow.apache.org/docs/apache-airflow/2.0.2/executor/celery.html https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#worker-autoscale Il valore deve essere separato da virgole nel seguente ordine:. max_concurrency,min_concurrency

16,12

mwaa.worker_replacement_threshold seconds

Imposta il numero di secondi dopo i quali Amazon MWAA termina e sostituisce un lavoratore non sano. Se impostato su un valore superiore a 0, Amazon MWAA sostituisce qualsiasi lavoratore che non è tornato a uno stato di integrità entro la soglia configurata. Se impostato su 0 (impostazione predefinita), i lavoratori non sani vengono sostituiti solo quando raggiungono lo stato di salute rosso.

300

Configurazioni del server Web

L'elenco seguente mostra le configurazioni del server web Apache Airflow disponibili nell'elenco a discesa su Amazon MWAA per Apache Airflow v2 e v3.

Opzione di configurazione Airflow Description Valore di esempio

webserver.default_ui_timezone

Nota

Non disponibile in Apache Airflow v3.

L'impostazione datetime predefinita dell'interfaccia utente di Apache Airflow in default_ui_timezone. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#default-ui-timezone

Nota

L'impostazione dell'default_ui_timezoneopzione non modifica il fuso orario in cui è pianificata l'esecuzione dei DAG. Per modificare il fuso orario dei DAG, puoi utilizzare un plug-in personalizzato. Per ulteriori informazioni, vedi Modifica del fuso orario di un DAG su Amazon MWAA.

America/New_York

Configurazioni del trigger

L'elenco seguente mostra le configurazioni dei trigger di Apache Airflow disponibili su Amazon MWAA per Apache Airflow v2 e v3.

Opzione di configurazione Airflow Description Valore di esempio

mwaa.triggerer_enabled

Utilizzato per attivare e disattivare il trigger su Amazon MWAA. Per impostazione predefinita, questo valore è impostato su True. Se impostato suFalse, Amazon MWAA non avvierà alcun processo di attivazione sugli scheduler.

True

triggerer.default_capacity (nella versione 2)

triggerer.capacity (nella v3)

Definisce il numero di trigger che ogni trigger può eseguire in parallelo. Su Amazon MWAA, questa capacità è impostata per ogni trigger e per ogni scheduler poiché entrambi i componenti vengono eseguiti fianco a fianco. L'impostazione predefinita per scheduler è impostata rispettivamente su60,, 125 250500, e 1000 per le istanze piccole, medie e grandi, xlarge e 2xlarge.

125

Configurazioni non supportate

Le seguenti opzioni di configurazione di Apache Airflow non sono disponibili in Amazon MWAA. Non puoi impostare o sovrascrivere queste opzioni utilizzando la console o l'API Amazon MWAA.

Opzione di configurazione Airflow Versione Apache Airflow Valore predefinito Motivo

core.multi_team

3.2

False

Amazon MWAA attualmente non supporta la modalità multi-team. https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#multi-team L'attivazione di questa funzionalità è incompatibile con l'autenticazione Amazon MWAA e la gestione dei segreti a livello di ambiente. CeleryExecutor

triggerer.queues_enabled

3.2

False

Amazon MWAA non supporta l'assegnazione delle code di attivazione. https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/deferring.html#controlling-triggerer-host-assignment-per-trigger L'attivazione di questa opzione fa sì che le attività differite si blocchino a tempo indeterminato.

Esempi e codice di esempio

Esempio DAG

È possibile utilizzare il seguente DAG per stampare le opzioni di configurazione di email_backend Apache Airflow. Per eseguirlo in risposta agli eventi Amazon MWAA, copia il codice nella cartella DAG del tuo ambiente sul bucket di storage 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()

Esempio di impostazioni di notifica via email

Le seguenti opzioni di configurazione di Apache Airflow possono essere utilizzate per un account Gmail.com e-mail utilizzando una password per l'app. Per ulteriori informazioni, consulta Accedi utilizzando le password delle app nella guida di riferimento dell'Aiuto di Gmail.

Questa immagine illustra come configurare un account e-mail gmail.com utilizzando le opzioni di configurazione di Apache Airflow sulla console MWAA.

Fasi successive