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 pour Apache Airflow en tant que variables d'environnement. Vous pouvez faire votre choix 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 Amazon MWAA. Cette rubrique décrit les options de configuration d'Apache Airflow disponibles et explique comment les utiliser pour modifier les paramètres de configuration d'Apache Airflow dans votre environnement.
Table des matières
Conditions préalables
Vous aurez besoin des éléments suivants avant de pouvoir effectuer les étapes de cette page.
-
Autorisations : votre administrateur Compte AWS doit vous avoir accordé l'accès à la politique de contrôle AmazonMWAAFullConsoleAccess d'accès de votre environnement. En outre, votre environnement Amazon MWAA doit être autorisé par votre rôle d'exécution à accéder aux AWS ressources utilisées par votre environnement.
-
Accès : si vous avez besoin d'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 plus d’informations, consultez Modes d’accès Apache Airflow.
-
Configuration Amazon S3 : le compartiment Amazon S3 utilisé pour stocker vos DAG, vos plugins personnalisés et vos dépendances Python dans
plugins.ziprequirements.txtdoit être configuré avec l'accès public bloqué et la gestion des versions activée.
Comment ça marche
Lorsque vous créez un environnement, Amazon MWAA associe les paramètres de configuration que vous spécifiez sur la console Amazon MWAA 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 console Amazon MWAA remplacent les valeurs de. airflow.cfg
Bien que nous ne les exposons pas par défaut airflow.cfg dans l'interface utilisateur Apache Airflow d'un environnement Amazon MWAA, vous pouvez modifier les options de configuration d'Apache Airflow directement sur la console Amazon MWAA, y compris les paramètres permettant d'webserver.expose_configexposer les configurations.
Utilisation des options de configuration pour charger des plugins
Par défaut, dans Apache Airflow v2 et versions ultérieures, 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, vous devez ajouter core.lazy_load_plugins : False comme option de configuration Apache Airflow pour charger les plugins au début de chaque processus Airflow afin de modifier le paramètre par défaut.
Vue d'ensemble des options de configuration
Lorsque vous ajoutez une configuration sur la console Amazon MWAA, Amazon MWAA écrit la configuration en tant que 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 formeAIRFLOW__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 formeAIRFLOW__FOO__USER : YOUR_USER_NAME
Options de configuration Apache Airflow
L'image suivante montre où vous pouvez personnaliser les options de configuration d'Apache Airflow sur la console Amazon MWAA.
Référence Apache Airflow
Pour obtenir la liste des options de configuration prises en charge par Apache Airflow, reportez-vous à la section Référence https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html
Utilisation de la console Amazon MWAA
La procédure suivante explique les étapes à suivre pour ajouter une option de configuration Airflow à votre environnement.
-
Ouvrez la page
Environnements sur la console Amazon MWAA. -
Choisissez un environnement.
-
Choisissez Modifier.
-
Choisissez Suivant.
-
Choisissez Ajouter une configuration personnalisée dans le volet des options de configuration d'Airflow.
-
Choisissez une configuration dans la liste déroulante et entrez une valeur, ou entrez une configuration personnalisée et entrez une valeur.
-
Choisissez Ajouter une configuration personnalisée pour chaque configuration que vous souhaitez ajouter.
-
Choisissez 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 Amazon MWAA.
Configurations de messagerie
La liste suivante répertorie les options de configuration des notifications par e-mail Airflow disponibles sur Amazon MWAA pour Apache Airflow v2 et v3.
Nous vous recommandons d'utiliser le port 587 pour le trafic SMTP. Par défaut, AWS bloque le trafic SMTP sortant sur le port 25 de toutes les instances Amazon EC2. Si vous souhaitez envoyer du trafic sortant sur le port 25, vous pouvez demander la suppression
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
email.email_backend |
L'utilitaire Apache Airflow utilisé pour les notifications par e-mail dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#email-backend |
airflow.utils.email.send_email_smtp |
|
smtp.smtp_hôte |
Le nom du serveur sortant utilisé pour l'adresse e-mail dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-host |
localhost |
|
smtp.smtp_start.tls |
Le protocole TLS (Transport Layer Security) est utilisé pour chiffrer le courrier électronique sur Internet dans smtp_starttls. |
False |
|
smtp .smtp_ssl |
Le protocole SSL (Secure Sockets Layer) est utilisé pour connecter le serveur et le client de messagerie dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-ssl |
True |
|
smtp .smtp_port_smtp |
Port TCP (Transmission Control Protocol) attribué au serveur dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-port |
587 |
|
smtp.smtp_mail_from |
L'adresse e-mail sortante dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-mail-from |
myemail@domain.com |
Configurations des tâches
La liste suivante affiche les configurations disponibles dans la liste déroulante pour les tâches Airflow sur Amazon MWAA pour Apache Airflow v2 et v3.
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
core.default_task_retries |
Le nombre de nouvelles tentatives d'une tâche Apache Airflow dans default_task_retries. |
3 |
|
parallélisme de base |
Nombre maximum 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 répertorie les configurations du planificateur Apache Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
scheduler.catchup_by_default |
Indique au planificateur de créer un DAG exécuté pour « rattraper » l'intervalle de temps spécifique dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#catchup-by-default |
False |
|
scheduler.scheduler_zombie_task_threshold NoteNon disponible dans Apache Airflow v3. |
Indique au planificateur s'il doit marquer l'instance de tâche comme ayant échoué et replanifier la tâche dans scheduler_zombie_task_threshold. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#scheduler-zombie-task-threshold |
300 |
Configurations des employés
La liste suivante répertorie les configurations de travail Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
celery.worker_autoscale |
Le nombre maximum et minimum de tâches pouvant être exécutées simultanément sur n'importe quel worker à l'aide de l'exécuteur Celery |
16,12 |
|
mwaa.worker_replacement_threshold_seconds |
Définit le nombre de secondes au bout duquel Amazon MWAA arrête et remplace un travailleur défectueux. Lorsqu'il est défini sur une valeur supérieure à 0, Amazon MWAA remplace tout travailleur qui n'est pas revenu à un état sain dans les limites du seuil configuré. Si ce paramètre est défini sur |
300 |
Configurations du serveur Web
La liste suivante répertorie les configurations de serveur Web Apache Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
serveur web.default_ui_timezone NoteNon disponible dans Apache Airflow v3. |
Le paramètre de date/heure par défaut de l'interface utilisateur Apache Airflow dans default_ui_timezone. NoteLe réglage de |
America/New_York |
Configurations des déclencheurs
La liste suivante répertorie les configurations du
| Option de configuration du flux d'air | Description | Exemple de valeur |
|---|---|---|
|
mwaa.triggerer_enabled |
Utilisé pour activer et désactiver le déclencheur sur Amazon MWAA. Par défaut, cette valeur indique |
True |
|
triggerer.default_capacity (dans la v2) triggerer.capacity (dans la version 3) |
Définit le nombre de déclencheurs que chaque déclencheur peut exécuter en parallèle. Sur Amazon MWAA, 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 sur |
125 |
Configurations non prises en charge
Les options de configuration Apache Airflow suivantes ne sont pas disponibles dans Amazon MWAA. Vous ne pouvez pas définir ou modifier ces options à l'aide de la console ou de l'API Amazon MWAA.
| Option de configuration du flux d'air | Version d'Apache Airflow | Valeur par défaut | Raison |
|---|---|---|---|
|
core.multi_team |
3.2 |
False |
Amazon MWAA ne prend pas en charge le mode multi-équipes pour le moment. |
|
triggerer.queues_enabled |
3.2 |
False |
Amazon MWAA ne prend pas en charge l'attribution de files d'attente par déclencheur. |
Exemples et exemples de code
Exemple DAG
Vous pouvez utiliser le DAG suivant pour imprimer vos options de configuration d'email_backendApache Airflow. Pour exécuter en réponse à des événements Amazon MWAA, copiez le code dans le dossier DAGS 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 Gmail.com messagerie à 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
Quelle est la prochaine étape ?
-
Découvrez comment télécharger votre dossier DAG dans votre compartiment Amazon S3 dansAjouter ou mettre à jour DAGs.