Utilisation des options de configuration d'Apache Airflow sur Amazon MWAA - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des options de configuration d'Apache Airflow sur Amazon MWAA

Les options de configuration d'Apache Airflow peuvent être associées à votre environnement Amazon Managed Workflows for Apache Airflow en tant que variables d'environnement. Vous pouvez choisir dans la liste déroulante suggérée ou spécifier des options de configuration personnalisées pour votre version d'Apache Airflow sur la console AmazonMWAA. Cette rubrique décrit les options de configuration d'Apache Airflow disponibles et explique comment les utiliser pour remplacer les paramètres de configuration d'Apache Airflow dans votre environnement.

Prérequis

Vous aurez besoin des éléments suivants avant de pouvoir effectuer les étapes indiquées sur cette page.

  • Autorisations — Votre AWS compte doit avoir été autorisé par votre administrateur à accéder à la politique de contrôle d'mazonMWAAFullConsoleAccessaccès A pour votre environnement. En outre, votre MWAA environnement Amazon doit être autorisé par votre rôle d'exécution à accéder aux AWS ressources utilisées par votre environnement.

  • Accès : si vous devez accéder à des référentiels publics pour installer des dépendances directement sur le serveur Web, votre environnement doit être configuré avec un accès au serveur Web du réseau public. Pour de plus amples informations, veuillez consulter Modes d'accès à Apache Airflow.

  • Configuration Amazon S3 — Le compartiment Amazon S3 utilisé pour stocker vos DAGs plugins personnalisés et vos dépendances Python requirements.txt doit être configuré avec l'accès public bloqué et le versionnage activé. plugins.zip

Comment ça marche

Lorsque vous créez un environnement, Amazon MWAA joint les paramètres de configuration que vous spécifiez sur la MWAA console Amazon dans les options de configuration d'Airflow en tant que variables d'environnement au AWS Fargate conteneur de votre environnement. Si vous utilisez un paramètre du même nom dansairflow.cfg, les options que vous spécifiez sur la MWAA console Amazon remplacent les valeurs dansairflow.cfg.

Bien que nous ne les exposons pas airflow.cfg dans l'interface utilisateur Apache Airflow d'un MWAA environnement Amazon par défaut, vous pouvez modifier les options de configuration d'Apache Airflow directement sur la MWAA console Amazon, y compris les paramètres permettant webserver.expose_config d'exposer les configurations.

Utilisation des options de configuration pour charger des plugins dans Apache Airflow v2

Par défaut, dans Apache Airflow v2, les plugins sont configurés pour être chargés « paresseusement » à l'core.lazy_load_plugins : Trueaide de ce paramètre. Si vous utilisez des plugins personnalisés dans Apache Airflow v2, vous devez les ajouter en core.lazy_load_plugins : False tant qu'option de configuration d'Apache Airflow pour charger les plugins au début de chaque processus Airflow afin de remplacer le paramètre par défaut.

Vue d'ensemble des options de configuration

Lorsque vous ajoutez une configuration sur la MWAA console Amazon, Amazon MWAA écrit la configuration sous forme de variable d'environnement.

  • Options répertoriées. Vous pouvez choisir l'un des paramètres de configuration disponibles pour votre version d'Apache Airflow dans la liste déroulante. Par exemple, dag_concurrency :16. Le paramètre de configuration est traduit dans le conteneur Fargate de votre environnement sous la forme AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • Options personnalisées. Vous pouvez également spécifier des options de configuration Airflow qui ne sont pas répertoriées pour votre version d'Apache Airflow dans la liste déroulante. Par exemple, foo.user :YOUR_USER_NAME. Le paramètre de configuration est traduit dans le conteneur Fargate de votre environnement sous la forme AIRFLOW__FOO__USER : YOUR_USER_NAME

Options de configuration d'Apache Airflow

L'image suivante montre où vous pouvez personnaliser les options de configuration d'Apache Airflow sur la MWAA console Amazon.

Cette image montre où vous pouvez personnaliser les options de configuration d'Apache Airflow sur la MWAA console Amazon.

Référence Apache Airflow

Pour obtenir la liste des options de configuration prises en charge par Apache Airflow, consultez la section Référence de configuration du guide de référence Apache Airflow. Pour consulter les options de la version d'Apache Airflow que vous utilisez sur AmazonMWAA, sélectionnez la version dans la liste déroulante.

Utilisation de la MWAA console Amazon

La procédure suivante explique les étapes à suivre pour ajouter une option de configuration Airflow à votre environnement.

  1. Ouvrez la page Environnements sur la MWAA console Amazon.

  2. Choisissez un environnement.

  3. Choisissez Modifier.

  4. Choisissez Suivant.

  5. Choisissez Ajouter une configuration personnalisée dans le volet des options de configuration d'Airflow.

  6. Choisissez une configuration dans la liste déroulante et entrez une valeur, ou saisissez une configuration personnalisée et entrez une valeur.

  7. Choisissez Ajouter une configuration personnalisée pour chaque configuration que vous souhaitez ajouter.

  8. Choisissez Save (Enregistrer).

Référence de configuration

La section suivante contient la liste des configurations Apache Airflow disponibles dans la liste déroulante de la console AmazonMWAA.

Configurations des e-mails

La liste suivante présente les options de configuration des notifications par e-mail Airflow disponibles sur AmazonMWAA.

Nous vous recommandons d'utiliser le port 587 pour le SMTP trafic. AWS Bloque par défaut le SMTP trafic sortant sur le port 25 de toutes les EC2 instances Amazon. Si vous souhaitez envoyer du trafic sortant sur le port 25, vous pouvez demander la suppression de cette restriction.

Apache Airflow v2
Version Airflow Option de configuration du flux d'air Description Exemple de valeur

v2

email.email_backend

L'utilitaire Apache Airflow utilisé pour les notifications par e-mail dans email_backend.

airflow.utils.email.send_email_smtp

v2

smtp.smtp_host

Nom du serveur sortant utilisé pour l'adresse e-mail dans smtp_host.

localhost

v2

smtp.smtp_starttls

Transport Layer Security (TLS) est utilisé pour chiffrer le courrier électronique sur Internet dans smtp_starttls.

False

v2

smtp.smtp_ssl

Secure Sockets Layer (SSL) est utilisé pour connecter le serveur et le client de messagerie dans smtp_ssl.

True

v2

smtp.smtp_port

Le port du protocole de contrôle de transmission (TCP) désigné pour le serveur dans smtp_port.

587

v2

smtp.smtp_mail_from

Adresse e-mail sortante dans smtp_mail_from.

myemail@domain.com

Configurations des tâches

La liste suivante présente les configurations disponibles dans la liste déroulante pour les tâches Airflow sur Amazon. MWAA

Apache Airflow v2
Version Airflow Option de configuration du flux d'air Description Exemple de valeur

v2

core.default_task_retries

Nombre de tentatives d'exécution d'une tâche Apache Airflow dans default_task_retries.

3

v2

core.parallélisme

Nombre maximal d'instances de tâches pouvant être exécutées simultanément dans l'ensemble de l'environnement en parallèle (parallélisme).

40

Configurations du planificateur

La liste suivante présente les configurations du planificateur Apache Airflow disponibles dans la liste déroulante sur Amazon. MWAA

Apache Airflow v2

Configurations des travailleurs

La liste suivante présente les configurations de travail Airflow disponibles dans la liste déroulante d'Amazon. MWAA

Apache Airflow v2
Version Airflow Option de configuration du flux d'air Description Exemple de valeur

v2

celery.worker_autoscale

Le nombre maximum et minimum de tâches pouvant être exécutées simultanément sur n'importe quel travailleur utilisant le Celery Executor dans worker_autoscale. Les valeurs doivent être séparées par des virgules dans l'ordre suivant : max_concurrency,min_concurrency

16,12

Configurations du serveur Web

La liste suivante présente les configurations du serveur Web Airflow disponibles dans la liste déroulante d'Amazon. MWAA

Apache Airflow v2
Version Airflow Option de configuration du flux d'air Description Exemple de valeur

v2

webserver.default_ui_timezone

Le paramètre de date/heure par défaut de l'interface utilisateur d'Apache Airflow dans default_ui_timezone.

Note

La définition de default_ui_timezone cette option ne modifie pas le fuseau horaire dans lequel votre DAGs course est prévue. Pour modifier le fuseau horaire de votre ordinateurDAGs, vous pouvez utiliser un plugin personnalisé. Pour de plus amples informations, veuillez consulter Modifier le fuseau horaire DAG d'un sur Amazon MWAA.

Amérique/New_York

Configurations du déclencheur

La liste suivante présente les configurations du déclencheur Apache Airflow disponibles sur Amazon. MWAA

Apache Airflow v2
Version Airflow Option de configuration du flux d'air Description Exemple de valeur

v2.7

mwaa.triggerer_enabled

Utilisé pour activer et désactiver le déclencheur sur Amazon. MWAA Par défaut, cette valeur indique True. Si ce paramètre est défini surFalse, Amazon ne MWAA lancera aucun processus déclencheur sur les planificateurs.

True

v2.7

triggerer.default_capacity

Définit le nombre de déclencheurs que chaque déclencheur peut exécuter en parallèle. Sur AmazonMWAA, cette capacité est définie pour chaque déclencheur et pour chaque planificateur, car les deux composants fonctionnent côte à côte. La valeur par défaut par planificateur est définie sur60,, 125 250500, et 1000 pour les petites, moyennes et grandes instances, xlarge et 2xlarge, respectivement.

125

Exemples et exemple de code

Exemple DAG

Vous pouvez utiliser ce qui suit DAG pour imprimer vos options de configuration email_backend Apache Airflow. Pour l'exécuter en réponse à MWAA des événements Amazon, copiez le code dans le DAGs dossier de votre environnement sur votre compartiment de stockage 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()

Exemples de paramètres de notification par e-mail

Les options de configuration Apache Airflow suivantes peuvent être utilisées pour un compte de messagerie Gmail.com à l'aide d'un mot de passe d'application. Pour plus d'informations, consultez la section Se connecter à l'aide des mots de passe des applications dans le guide de référence de l'aide Gmail.

Cette image montre comment configurer un compte de messagerie gmail.com à l'aide des options de configuration d'Apache Airflow sur la console. MWAA

Quelle est la prochaine étape ?