Verwenden der Apache Airflow-Konfigurationsoptionen auf Amazon MWAA - Amazon Managed 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

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 Drop-down-Liste wählen oder benutzerdefinierte Konfigurationsoptionen für Ihre Apache Airflow-Version auf der Amazon MWAA-Konsole angeben. Auf dieser Seite werden die verfügbaren Apache Airflow-Konfigurationsoptionen beschrieben und wie Sie diese Optionen verwenden können, 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.

  • Berechtigungen — Ihr AWS Konto muss von Ihrem Administrator Zugriff auf die FullConsoleAmazonMWAA-Zugriffskontrollrichtlinie für Ihre Umgebung erhalten 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 Netzwerk-Webserver konfiguriert sein. Weitere Informationen finden Sie unter Apache Airflow-Zugriffsmodi.

  • Amazon S3 S3-Konfiguration — Der Amazon S3 S3-Bucket, der zum Speichern Ihrer DAGs, benutzerdefinierten Plugins und Python-Abhängigkeiten verwendet wirdplugins.zip, requirements.txt muss mit geblocktem öffentlichem Zugriff und aktivierter Versionierung konfiguriert sein.

Funktionsweise

Wenn Sie eine Umgebung erstellen, fügt 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 Einstellung mit demselben Namen 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 zwar nicht standardmäßig zur Verfügung, aber Sie können die Apache Airflow-Konfigurationsoptionen direkt in der Amazon MWAA-Konsole ändern, einschließlich der Einstellung, dass die Konfigurationen verfügbar gemacht werden. webserver.expose_config

Verwenden von Konfigurationsoptionen zum Laden von Plugins in Apache Airflow v2

Standardmäßig sind Plugins in Apache Airflow v2 so konfiguriert, dass sie mithilfe der Einstellung „träge“ geladen werden. core.lazy_load_plugins : True Wenn Sie benutzerdefinierte Plugins in Apache Airflow v2 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 zu überschreiben.

Übersicht ü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 Drop-down-Liste können Sie aus einer der für Ihre Apache Airflow-Version verfügbaren Konfigurationseinstellungen wählen. Zum 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 Drop-down-Liste aufgeführt sind. Zum Beispiel:. foo.user YOUR_USER_NAME Die Konfigurationseinstellung wird in den Fargate-Container Ihrer Umgebung übersetzt als AIRFLOW__FOO__USER : YOUR_USER_NAME

Apache Airflow-Konfigurationsoptionen

Die folgende Abbildung zeigt, wo Sie die Apache Airflow-Konfigurationsoptionen auf der Amazon MWAA-Konsole anpassen können.

Dieses Bild zeigt, wie 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 unter Konfigurationsreferenz im Apache Airflow-Referenzhandbuch. Um die Optionen für die Version von Apache Airflow anzuzeigen, die Sie auf Amazon MWAA ausführen, wählen Sie die Version aus der Drop-down-Liste aus.

Verwenden der Amazon MWAA-Konsole

Das folgende Verfahren führt Sie durch die Schritte zum 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 für jede Konfiguration, die Sie hinzufügen möchten, die Option Benutzerdefinierte Konfiguration hinzufügen aus.

  8. Wählen Sie Speichern.

Konfigurationsreferenz

Der folgende Abschnitt enthält die Liste der verfügbaren Apache Airflow-Konfigurationen in der Drop-down-Liste auf der Amazon MWAA-Konsole.

E-Mail-Konfigurationen

Die folgende Liste zeigt die Konfigurationsoptionen für Airflow-E-Mail-Benachrichtigungen, die auf Amazon MWAA verfügbar sind.

Wir empfehlen die Verwendung von Port 587 für SMTP-Verkehr. AWS Blockiert standardmäßig ausgehenden SMTP-Verkehr auf Port 25 aller Amazon EC2 EC2-Instances. Wenn Sie ausgehenden Datenverkehr auf Port 25 senden möchten, können Sie beantragen, dass diese Einschränkung aufgehoben wird.

Apache Airflow v2

Aufgabenkonfigurationen

Die folgende Liste zeigt die Konfigurationen, die in der Drop-down-Liste für Airflow-Aufgaben auf Amazon MWAA verfügbar sind.

Apache Airflow v2
Airflow-Version Option zur Konfiguration von Airflow Beschreibung Beispielwert

v2

core.default_task_retries

Gibt an, wie oft eine Apache Airflow-Aufgabe in default_task_retries wiederholt werden soll.

3

v2

core.parallelism

Die maximale Anzahl von Task-Instanzen, die gleichzeitig in der gesamten Umgebung parallel ausgeführt werden können (Parallelität).

40

Scheduler-Konfigurationen

Die folgende Liste zeigt die Apache Airflow Scheduler-Konfigurationen, die in der Drop-down-Liste auf Amazon MWAA verfügbar sind.

Apache Airflow v2
Airflow-Version Option zur Konfiguration von Airflow Beschreibung Beispielwert

v2

scheduler.catchup_by_default

Weist den Scheduler an, einen DAG-Lauf zu erstellen, um das in catchup_by_default angegebene Zeitintervall „catch“.

False

v2

scheduler.scheduler_zombie_task_threshold

Teilt dem Scheduler mit, ob die Task-Instanz als fehlgeschlagen markiert und die Aufgabe in scheduler_zombie_task_threshold neu geplant werden soll.

300

Worker-Konfigurationen

Die folgende Liste zeigt die Airflow-Worker-Konfigurationen, die in der Drop-down-Liste auf Amazon MWAA verfügbar sind.

Apache Airflow v2
Airflow-Version Option zur Konfiguration von Airflow Beschreibung Beispielwert

v2

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. Der Wert muss in der folgenden Reihenfolge durch Kommas getrennt werden:. max_concurrency,min_concurrency

16,12

Webserver-Konfigurationen

Die folgende Liste zeigt die Airflow-Webserverkonfigurationen, die in der Drop-down-Liste auf Amazon MWAA verfügbar sind.

Apache Airflow v2
Airflow-Version Option zur Konfiguration von Airflow Beschreibung Beispielwert

v2

webserver.default_ui_timezone

Die standardmäßige Datetime-Einstellung der Apache Airflow-Benutzeroberfläche in default_ui_timezone.

Anmerkung

Durch die Einstellung dieser 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.

Amerika/New_York

Konfigurationen auslösen

Die folgende Liste zeigt die Apache Airflow-Triggerkonfigurationen, die auf Amazon MWAA verfügbar sind.

Apache Airflow v2
Airflow-Version Option zur Konfiguration von Airflow Beschreibung Beispielwert

v2.7

mwaa.triggerer_aktiviert

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 auslösenden Prozesse auf Schedulern.

True

v2.7

triggerer.default_capacity

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 parallel ausgeführt werden. Die Standardeinstellung pro Scheduler ist auf60,,125, und 1000 für kleine 250500, mittlere und große, xlarge- und 2xlarge-Instances festgelegt.

125

Beispiele und Beispielcode

Beispiel DAG

Sie können die folgende DAG verwenden, um Ihre email_backend Apache Airflow-Konfigurationsoptionen zu drucken. Um ihn als Reaktion auf Amazon MWAA-Ereignisse auszuführen, kopieren Sie den Code in den DAGs-Ordner Ihrer Umgebung auf Ihrem Amazon S3 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 anmelden.

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

Als nächstes