Verwenden der Apache Airflow-Konfigurationsoptionen bei 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 bei 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 MWAA Amazon-Konsole angeben. In diesem Thema 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 mazonMWAAFullConsoleAccessA-Zugriffskontrollrichtlinie für Ihre Umgebung erhalten haben. Darüber hinaus muss Ihrer MWAA Amazon-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-BucketDAGs, in dem Ihre benutzerdefinierten Plugins und Python-Abhängigkeiten gespeichert werdenplugins.zip, requirements.txt muss mit geblocktem öffentlichem Zugriff und aktivierter Versionierung konfiguriert sein.

Funktionsweise

Wenn Sie eine Umgebung erstellen, MWAA hängt Amazon die Konfigurationseinstellungen, die Sie auf der MWAA Amazon-Konsole in den Airflow-Konfigurationsoptionen angeben, als Umgebungsvariablen an den AWS Fargate Container für Ihre Umgebung an. Wenn Sie eine Einstellung mit demselben Namen in verwenden, überschreiben die Optionenairflow.cfg, die Sie auf der MWAA Amazon-Konsole angeben, die Werte inairflow.cfg.

Wir machen das zwar nicht standardmäßig airflow.cfg in der Apache Airflow-Benutzeroberfläche einer MWAA Amazon-Umgebung verfügbar, aber Sie können die Apache Airflow-Konfigurationsoptionen direkt auf der MWAA Amazon-Konsole ändern, einschließlich der Einstellung, die Konfigurationen verfügbar webserver.expose_config zu machen.

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 MWAA Amazon-Konsole hinzufügen, MWAA schreibt Amazon 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 MWAA Amazon-Konsole anpassen können.

Dieses Bild zeigt, wo Sie die Apache Airflow-Konfigurationsoptionen auf der MWAA Amazon-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 bei Amazon ausführenMWAA, wählen Sie die Version aus der Drop-down-Liste aus.

Verwenden der MWAA Amazon-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 MWAA Amazon-Konsole.

  2. Wählen Sie eine Umgebung aus.

  3. Wählen Sie Edit (Bearbeiten) aus.

  4. Wählen Sie Weiter.

  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 Save (Speichern) aus.

Konfigurationsreferenz

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

E-Mail-Konfigurationen

Die folgende Liste zeigt die bei Amazon MWAA verfügbaren Konfigurationsoptionen für Airflow-E-Mail-Benachrichtigungen.

Wir empfehlen, Port 587 für SMTP den Verkehr zu verwenden. AWS Blockiert standardmäßig ausgehenden SMTP Verkehr auf Port 25 aller EC2 Amazon-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 bei Amazon verfügbar sind. MWAA

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 bei Amazon verfügbar sind. MWAA

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 bei Amazon verfügbar sind. MWAA

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-Webserver-Konfigurationen, die in der Drop-down-Liste bei Amazon verfügbar sind. MWAA

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

Die Einstellung dieser default_ui_timezone Option ändert nichts an der Zeitzone, in der Ihre Ausführung geplant ist. DAGs Um die Zeitzone für Sie zu ändernDAGs, können Sie ein benutzerdefiniertes Plugin verwenden. Weitere Informationen finden Sie unter DAGDie Zeitzone von a bei Amazon ändern MWAA.

Amerika/New_York

Konfigurationen auslösen

Die folgende Liste zeigt die bei Amazon verfügbaren Apache Airflow-Triggerkonfigurationen. MWAA

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 bei Amazon verwendet. MWAA Standardmäßig ist dieser Wert auf True festgelegt. Wenn auf gesetztFalse, MWAA startet Amazon 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 laufen. Die Standardeinstellung pro Scheduler ist auf60,,, 125250, und 1000 für kleine500, mittlere und große, xlarge- und 2xlarge-Instances festgelegt.

125

Beispiele und Beispielcode

Beispiel DAG

Sie können Folgendes verwendenDAG, um Ihre email_backend Apache Airflow-Konfigurationsoptionen auszudrucken. Um ihn als Reaktion auf MWAA Amazon-Ereignisse auszuführen, kopieren Sie den Code in den DAGs Ordner Ihrer Umgebung auf 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 anmelden.

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

Als nächstes