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.zipAccess 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 comeAIRFLOW__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 comeAIRFLOW__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.
Riferimento ad Apache Airflow
Per un elenco delle opzioni di configurazione supportate da Apache Airflow, consultate Configuration Reference
Utilizzo della console Amazon MWAA
La procedura seguente illustra i passaggi necessari per aggiungere un'opzione di configurazione Airflow al tuo ambiente.
-
Apri la pagina
Ambienti sulla console Amazon MWAA. -
Scegli un ambiente.
-
Scegli Modifica.
-
Scegli Next (Successivo).
-
Scegliete Aggiungi configurazione personalizzata nel riquadro delle opzioni di configurazione Airflow.
-
Scegliete una configurazione dall'elenco a discesa e immettete un valore, oppure inserite una configurazione personalizzata e immettete un valore.
-
Scegli Aggiungi configurazione personalizzata per ogni configurazione che desideri aggiungere.
-
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 NotaNon 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 |
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 |
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 NotaNon 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 NotaL'impostazione dell' |
America/New_York |
Configurazioni del trigger
L'elenco seguente mostra le configurazioni dei
| 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 |
|
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 su |
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 |
|
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 |
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
Fasi successive
-
Scopri come caricare la tua cartella DAG nel bucket Amazon S3 in. Aggiungere o aggiornare DAGs