View a markdown version of this page

Verwenden der Apache Airflow-Konfigurationsoptionen auf Amazon MWAA - Von Amazon verwaltete Workflows für Apache Airflow

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.

Voraussetzungen

Sie benötigen Folgendes, bevor Sie die Schritte auf dieser Seite ausführen können.

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 als AIRFLOW__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 als AIRFLOW__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.

Dieses Bild 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 im Apache Airflow-Referenzhandbuch. Um auf die Optionen für die Version von Apache Airflow zuzugreifen, die Sie auf Amazon MWAA ausführen, wählen Sie die Version aus der Dropdownliste aus.

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.

  1. Öffnen Sie die Seite Umgebungen auf der Amazon MWAA-Konsole.

  2. Wählen Sie eine Umgebung aus.

  3. Wählen Sie Bearbeiten aus.

  4. Wählen Sie Weiter aus.

  5. Wählen Sie im Bereich mit den Airflow-Konfigurationsoptionen die Option Benutzerdefinierte Konfiguration hinzufügen aus.

  6. 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.

  7. Wählen Sie Benutzerdefinierte Konfiguration hinzufügen für jede Konfiguration, die Sie hinzufügen möchten.

  8. 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

Anmerkung

In 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 https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#worker-autoscale Der Wert muss in der folgenden Reihenfolge durch Kommas getrennt werden:. max_concurrency,min_concurrency

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 0 (Standardeinstellung) gesetzt, werden kranke Mitarbeiter erst ersetzt, wenn sie den Gesundheitsstatus Rot erreichen.

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

Anmerkung

Nicht 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

Anmerkung

Durch das Setzen der default_ui_timezone Option wird die Zeitzone, in der Ihre DAGs ausgeführt werden sollen, nicht geändert. Um die Zeitzone für Ihre DAGs zu ändern, können Sie ein benutzerdefiniertes Plugin verwenden. Weitere Informationen finden Sie unter Ändern der Zeitzone einer DAG auf Amazon MWAA.

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-Triggerkonfigurationen, die auf Amazon MWAA für Apache Airflow v2 und v3 verfügbar sind.

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 True festgelegt. Wenn auf gesetztFalse, startet Amazon MWAA keine Triggerprozesse auf Schedulern.

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 auf60,125, und 1000 für kleine 250500, mittlere und große, xlarge bzw. 2xlarge Instances festgelegt.

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 Die Aktivierung dieser Funktion ist nicht mit der Amazon MWAA-Authentifizierung und der CeleryExecutor Verwaltung von Geheimnissen auf Umgebungsebene kompatibel.

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 Wenn Sie diese Option aktivieren, bleiben aufgeschobene Aufgaben auf unbestimmte Zeit hängen.

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 anmelden.

Dieses Bild zeigt, wie Sie ein E-Mail-Konto auf gmail.com mithilfe der Apache Airflow-Konfigurationsoptionen auf der MWAA-Konsole konfigurieren.

Als nächstes