Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden der Apache Airflow-Konfigurationsoptionen auf Amazon MWAA
Die Apache Airflow-Konfigurationsoptionen können als Umgebungsvariablen an Ihre Amazon Managed Workflows for Apache Airflow-Umgebung angehängt werden. Sie können aus der vorgeschlagenen Dropdownliste wählen oder benutzerdefinierte Konfigurationsoptionen für Ihre Apache Airflow-Version auf der Amazon MWAA-Konsole angeben. In diesem Thema werden die verfügbaren Apache Airflow-Konfigurationsoptionen beschrieben und wie Sie diese Optionen verwenden, um die Apache Airflow-Konfigurationseinstellungen in Ihrer Umgebung zu überschreiben.
Inhalt
Voraussetzungen
Sie benötigen Folgendes, bevor Sie die Schritte auf dieser Seite ausführen können.
-
Berechtigungen — Ihr Administrator AWS-Konto muss Ihnen Zugriff auf die AmazonMWAAFullConsoleAccess Zugriffskontrollrichtlinie für Ihre Umgebung gewährt haben. Darüber hinaus muss Ihrer Amazon MWAA-Umgebung von Ihrer Ausführungsrolle der Zugriff auf die von Ihrer Umgebung verwendeten AWS Ressourcen gestattet werden.
-
Zugriff — Wenn Sie Zugriff auf öffentliche Repositorys benötigen, um Abhängigkeiten direkt auf dem Webserver zu installieren, muss Ihre Umgebung für den Zugriff auf öffentliche Netzwerkwebserver konfiguriert sein. Weitere Informationen finden Sie unter Apache-Airflow-Zugriffsmodi.
-
Amazon S3-Konfiguration — Der Amazon S3-Bucket, in dem Ihre DAGs, benutzerdefinierten Plug-ins und Python-Abhängigkeiten gespeichert werden
plugins.zip,requirements.txtmuss so konfiguriert sein, dass der öffentliche Zugriff gesperrt und die Versionierung aktiviert ist.
Funktionsweise
Wenn Sie eine Umgebung erstellen, hängt Amazon MWAA die Konfigurationseinstellungen, die Sie auf der Amazon MWAA-Konsole in den Airflow-Konfigurationsoptionen angeben, als Umgebungsvariablen an den Container für Ihre Umgebung an. AWS Fargate Wenn Sie eine gleichnamige Einstellung in verwenden, überschreiben die Optionenairflow.cfg, die Sie auf der Amazon MWAA-Konsole angeben, die Werte in. airflow.cfg
Wir stellen die airflow.cfg in der Apache Airflow-Benutzeroberfläche einer Amazon MWAA-Umgebung standardmäßig nicht zur Verfügung, aber Sie können die Apache Airflow-Konfigurationsoptionen direkt auf der Amazon MWAA-Konsole ändern, einschließlich der Einstellung, dass die Konfigurationen angezeigt werden. webserver.expose_config
Verwenden von Konfigurationsoptionen zum Laden von Plugins
In Apache Airflow v2 und höher sind Plugins standardmäßig so konfiguriert, dass sie mithilfe dieser Einstellung „träge“ geladen werden. core.lazy_load_plugins : True Wenn Sie benutzerdefinierte Plugins verwenden, müssen Sie core.lazy_load_plugins : False als Apache Airflow-Konfigurationsoption hinzufügen, um Plugins zu Beginn jedes Airflow-Prozesses zu laden, um die Standardeinstellung außer Kraft zu setzen.
Überblick über die Konfigurationsoptionen
Wenn Sie eine Konfiguration auf der Amazon MWAA-Konsole hinzufügen, schreibt Amazon MWAA die Konfiguration als Umgebungsvariable.
-
Aufgelistete Optionen. In der Dropdownliste können Sie aus einer der für Ihre Apache Airflow-Version verfügbaren Konfigurationseinstellungen wählen. Beispiel:
dag_concurrency:16. Die Konfigurationseinstellung wird in den Fargate-Container Ihrer Umgebung übersetzt alsAIRFLOW__CORE__DAG_CONCURRENCY : 16 -
Benutzerdefinierte Optionen. Sie können auch Airflow-Konfigurationsoptionen angeben, die für Ihre Apache Airflow-Version nicht in der Dropdownliste aufgeführt sind. Beispiel:
foo.user:YOUR_USER_NAME. Die Konfigurationseinstellung wird in den Fargate-Container Ihrer Umgebung übersetzt alsAIRFLOW__FOO__USER : YOUR_USER_NAME
Konfigurationsoptionen für Apache Airflow
Die folgende Abbildung zeigt, wo Sie die Apache Airflow-Konfigurationsoptionen auf der Amazon MWAA-Konsole anpassen können.
Apache Airflow-Referenz
Eine Liste der von Apache Airflow unterstützten Konfigurationsoptionen finden Sie in der Konfigurationsreferenz
Verwenden Sie die Amazon MWAA-Konsole
Das folgende Verfahren führt Sie Schritt für Schritt durch das Hinzufügen einer Airflow-Konfigurationsoption zu Ihrer Umgebung.
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie Bearbeiten aus.
-
Wählen Sie Weiter aus.
-
Wählen Sie im Bereich mit den Airflow-Konfigurationsoptionen die Option Benutzerdefinierte Konfiguration hinzufügen aus.
-
Wählen Sie eine Konfiguration aus der Dropdownliste aus und geben Sie einen Wert ein, oder geben Sie eine benutzerdefinierte Konfiguration ein und geben Sie einen Wert ein.
-
Wählen Sie Benutzerdefinierte Konfiguration hinzufügen für jede Konfiguration, die Sie hinzufügen möchten.
-
Wählen Sie Speichern.
Konfigurationsreferenz
Der folgende Abschnitt enthält die Liste der verfügbaren Apache Airflow-Konfigurationen in der Dropdownliste auf der Amazon MWAA-Konsole.
E-Mail-Konfigurationen
Die folgende Liste zeigt die Konfigurationsoptionen für Airflow-E-Mail-Benachrichtigungen, die auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.
Wir empfehlen, Port 587 für SMTP-Verkehr zu verwenden. AWS Blockiert standardmäßig ausgehenden SMTP-Verkehr auf Port 25 aller Amazon EC2-Instances. Wenn Sie ausgehenden Datenverkehr auf Port 25 senden möchten, können Sie beantragen, dass diese Einschränkung aufgehoben wird.
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
email.email_backend |
Das Apache Airflow-Hilfsprogramm, das für E-Mail-Benachrichtigungen in email_backend verwendet wird. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#email-backend |
airflow.utils.email.send_email_smtp |
|
smtp.smtp_host |
Der Name des Ausgangsservers, der für die E-Mail-Adresse in smtp_host verwendet wird. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-host |
localhost |
|
smtp.smtp_starttls |
Transport Layer Security (TLS) wird verwendet, um die E-Mail über das Internet in smtp_starttls zu verschlüsseln. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-starttls |
Falsch |
|
smtp.smtp_ssl |
Secure Sockets Layer (SSL) wird verwendet, um den Server und den E-Mail-Client in smtp_ssl zu verbinden. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-ssl |
Wahr |
|
smtp.smtp_port |
Der TCP-Port (Transmission Control Protocol), der dem Server in smtp_port zugewiesen wurde. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-port |
587 |
|
smtp.smtp_mail_von |
Die ausgehende E-Mail-Adresse in smtp_mail_from. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-mail-from |
myemail@domain.com |
Konfigurationen der Aufgaben
Die folgende Liste zeigt die Konfigurationen, die in der Dropdownliste für Airflow-Aufgaben auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
core.default_task_retries |
Gibt an, wie oft eine Apache Airflow-Aufgabe in default_task_retries wiederholt werden soll. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#default-task-retries |
3 |
|
core.parallelism |
Die maximale Anzahl von Aufgabeninstanzen, die gleichzeitig in der gesamten Umgebung parallel ausgeführt werden können (Parallelität). https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#parallelism |
40 |
Scheduler-Konfigurationen
Die folgende Liste zeigt die Apache Airflow Scheduler-Konfigurationen, die in der Dropdownliste auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
scheduler.catchup_by_default |
Weist den Scheduler an, einen DAG-Lauf zu erstellen, um das in catchup_by_default angegebene Zeitintervall „nachzuholen“. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#catchup-by-default |
Falsch |
|
scheduler.scheduler_zombie_task_threshold AnmerkungIn Apache Airflow v3 nicht verfügbar. |
Teilt dem Scheduler mit, ob die Aufgabeninstanz als fehlgeschlagen markiert und die Aufgabe in scheduler_zombie_task_threshold neu geplant werden soll. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#scheduler-zombie-task-threshold |
300 |
Worker-Konfigurationen
Die folgende Liste zeigt die Airflow-Worker-Konfigurationen, die in der Dropdownliste auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
celery.worker_autoscale |
Die maximale und minimale Anzahl von Aufgaben, die gleichzeitig auf jedem Worker ausgeführt werden können, der den Celery Executor in worker_autoscale verwendet. https://airflow.apache.org/docs/apache-airflow/2.0.2/executor/celery.html |
16,12 |
|
mwaa.worker_replacement_threshold_seconds |
Legt die Anzahl der Sekunden fest, nach der Amazon MWAA beendet wird und einen Mitarbeiter ersetzt, der krank ist. Wenn Amazon MWAA auf einen Wert größer als 0 gesetzt ist, ersetzt Amazon MWAA jeden Worker, der innerhalb des konfigurierten Schwellenwerts nicht wieder in einen fehlerfreien Zustand zurückgekehrt ist. Ist dieser Wert auf |
300 |
Webserver-Konfigurationen
Die folgende Liste zeigt die Apache Airflow-Webserverkonfigurationen, die in der Dropdownliste auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
webserver.default_ui_timezone AnmerkungNicht verfügbar in Apache Airflow v3. |
Die standardmäßige Datetime-Einstellung der Apache Airflow-Benutzeroberfläche in default_ui_timezone. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#default-ui-timezone AnmerkungDurch das Setzen der |
America/New_York |
Triggerer-Konfigurationen
Die folgende Liste zeigt die Apache https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/deferring.html
| Airflow-Konfigurationsoption | Description | Beispielwert |
|---|---|---|
|
mwaa.triggerer_enabled |
Wird für die Aktivierung und Deaktivierung des Triggers auf Amazon MWAA verwendet. Standardmäßig ist dieser Wert auf |
Wahr |
|
triggerer.default_capacity (in v2) triggerer.capacity (in Version 3) |
Definiert die Anzahl der Trigger, die jeder Trigger parallel ausführen kann. Bei Amazon MWAA wird diese Kapazität für jeden Trigger und für jeden Scheduler festgelegt, da beide Komponenten nebeneinander laufen. Die Standardeinstellung pro Scheduler ist auf |
125 |
Konfigurationen werden nicht unterstützt
Die folgenden Apache Airflow-Konfigurationsoptionen sind in Amazon MWAA nicht verfügbar. Sie können diese Optionen nicht mithilfe der Amazon MWAA-Konsole oder API festlegen oder überschreiben.
| Airflow-Konfigurationsoption | Apache Airflow-Version | Standardwert | Grund |
|---|---|---|---|
|
core.multi_team |
3.2 |
Falsch |
Amazon MWAA unterstützt derzeit den Modus mit mehreren Teams nicht. https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#multi-team |
|
triggerer.queues_enabled |
3.2 |
Falsch |
Amazon MWA unterstützt die Zuweisung von Triggerwarteschlangen nicht. https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/deferring.html#controlling-triggerer-host-assignment-per-trigger |
Beispiele und Beispielcode
Beispiel DAG
Sie können die folgende DAG verwenden, um Ihre email_backend Apache Airflow-Konfigurationsoptionen zu drucken. Um als Reaktion auf Amazon MWAA-Ereignisse auszuführen, kopieren Sie den Code in den DAGs-Ordner Ihrer Umgebung in Ihrem Amazon S3-Speicher-Bucket.
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()
Beispiel für Einstellungen für E-Mail-Benachrichtigungen
Die folgenden Apache Airflow-Konfigurationsoptionen können für ein Gmail.com E-Mail-Konto mit einem App-Passwort verwendet werden. Weitere Informationen finden Sie im Referenzhandbuch der Gmail-Hilfe unter Mit App-Passwörtern https://support.google.com/mail/answer/185833?hl=en-GB
Als nächstes
-
Erfahren Sie, wie Sie Ihren DAG-Ordner in Ihren Amazon S3-Bucket hochladen. Hinzufügen oder Aktualisieren DAGs