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.
Ajouter ou mettre à jour DAGs
Les graphes acycliques dirigés (DAGs) sont définis dans un fichier Python qui définit la structure DAG du code. Vous pouvez utiliser la AWS CLI console Amazon S3 ou la console Amazon S3 pour effectuer le téléchargement DAGs dans votre environnement. Cette rubrique décrit les étapes pour ajouter ou mettre à jour Apache Airflow DAGs dans votre environnement Amazon Managed Workflows for Apache Airflow à l'aide du dags
dossier de votre compartiment Amazon S3.
Sections
- Prérequis
- Fonctionnement
- Ce qui a changé dans la version 2
- Tests DAGs à l'aide de l'MWAACLIutilitaire Amazon
- Chargement DAG du code vers Amazon S3
- Spécifier le chemin d'accès à votre DAGs dossier sur la MWAA console Amazon (pour la première fois)
- Affichage des modifications sur votre interface utilisateur Apache Airflow
- Quelle est la prochaine étape ?
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
Fonctionnement
Un graphe acyclique dirigé (DAG) est défini dans un seul fichier Python qui définit DAG sa structure sous forme de code. Il comprend les éléments suivants :
-
Définition d'un DAG
. -
Opérateurs
qui décrivent le mode d'exécution DAG et les tâches à exécuter. -
Relations entre les opérateurs
qui décrivent l'ordre dans lequel les tâches doivent être exécutées.
Pour exécuter une plateforme Apache Airflow dans un MWAA environnement Amazon, vous devez copier votre DAG définition dans le dags
dossier de votre bucket de stockage. Par exemple, le DAG dossier de votre bucket de stockage peut ressembler à ceci :
Exemple DAGdossier
dags/ └ dag_def.py
Amazon synchronise MWAA automatiquement les objets nouveaux et modifiés de votre compartiment Amazon S3 vers le /usr/local/airflow/dags
dossier Amazon MWAA Scheduler et Worker Containers toutes les 30 secondes, préservant ainsi la hiérarchie des fichiers de la source Amazon S3, quel que soit le type de fichier. L'heure à laquelle la nouvelle DAGs prise apparaît dans votre interface utilisateur Apache Airflow est contrôlée parscheduler.dag_dir_list_interval
. Les modifications apportées aux DAGs éléments existants seront prises en compte lors de la prochaine boucle DAG de traitement.
Note
Il n'est pas nécessaire d'inclure le fichier airflow.cfg
de configuration dans votre DAG dossier. Vous pouvez remplacer les configurations par défaut d'Apache Airflow depuis la console AmazonMWAA. Pour de plus amples informations, veuillez consulter Utilisation des options de configuration d'Apache Airflow sur Amazon MWAA.
Ce qui a changé dans la version 2
-
Nouveau : opérateurs, crochets et exécuteurs. Les instructions d'importation figurant dans votre DAGs fichier et les plugins personnalisés que vous spécifiez dans un plug-in
plugins.zip
sur Amazon MWAA ont changé entre Apache Airflow v1 et Apache Airflow v2. Par exemple,from airflow.contrib.hooks.aws_hook import AwsHook
dans Apache Airflow v1, il a été remplacé par Apache Airflow v2.from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
Pour en savoir plus, consultez la APIréférence Pythondans le guide de référence d'Apache Airflow.
Tests DAGs à l'aide de l'MWAACLIutilitaire Amazon
-
L'utilitaire d'interface de ligne de commande (CLI) reproduit localement un environnement Amazon Managed Workflows pour Apache Airflow.
-
CLIcrée localement une image de conteneur Docker similaire à une image de MWAA production Amazon. Cela vous permet d'exécuter un environnement Apache Airflow local pour développer et tester DAGs des plugins personnalisés et des dépendances avant le déploiement sur AmazonMWAA.
-
Pour exécuter leCLI, reportez-vous à la section aws-mwaa-local-runner
Activé GitHub.
Chargement DAG du code vers Amazon S3
Vous pouvez utiliser la console Amazon S3 ou le AWS Command Line Interface (AWS CLI) pour télécharger DAG du code dans votre compartiment Amazon S3. Les étapes suivantes supposent que vous téléchargez du code (.py
) dans un dossier nommé dags
dans votre compartiment Amazon S3.
En utilisant le AWS CLI
The AWS Command Line Interface (AWS CLI) est un outil open source qui vous permet d'interagir avec les AWS services à l'aide de commandes dans votre shell de ligne de commande. Pour effectuer les étapes indiquées sur cette page, vous avez besoin des éléments suivants :
Pour télécharger à l'aide du AWS CLI
-
Utilisez la commande suivante pour répertorier tous vos compartiments Amazon S3.
aws s3 ls
-
Utilisez la commande suivante pour répertorier les fichiers et les dossiers du compartiment Amazon S3 de votre environnement.
aws s3 ls s3://
YOUR_S3_BUCKET_NAME
-
La commande suivante télécharge un
dag_def.py
fichierdags
dans un dossier.aws s3 cp dag_def.py s3://
YOUR_S3_BUCKET_NAME
/dags/Si aucun dossier nommé
dags
n'existe déjà dans votre compartiment Amazon S3, cette commande crée ledags
dossier et télécharge le fichier nommédag_def.py
dans le nouveau dossier.
Utilisation de la console Amazon S3
La console Amazon S3 est une interface utilisateur Web qui vous permet de créer et de gérer les ressources de votre compartiment Amazon S3. Les étapes suivantes supposent que vous avez un DAGs dossier nommédags
.
Pour charger à l'aide de la console Amazon S3
-
Ouvrez la page Environnements
sur la MWAA console Amazon. -
Choisissez un environnement.
-
Sélectionnez le lien du compartiment S3 dans le DAGcode du volet S3 pour ouvrir votre compartiment de stockage sur la console Amazon S3.
-
Choisissez le dossier
dags
. -
Sélectionnez Charger.
-
Choisissez Ajouter un fichier.
-
Sélectionnez la copie locale de votre fichier
dag_def.py
, puis choisissez Upload.
Spécifier le chemin d'accès à votre DAGs dossier sur la MWAA console Amazon (pour la première fois)
Les étapes suivantes supposent que vous spécifiez le chemin d'accès à un dossier nommé dans votre compartiment Amazon S3dags
.
-
Ouvrez la page Environnements
sur la MWAA console Amazon. -
Choisissez l'environnement dans lequel vous souhaitez exécuterDAGs.
-
Choisissez Modifier.
-
Dans le DAG code du volet Amazon S3, choisissez Browse S3 à côté du champ du DAGdossier.
-
Sélectionnez votre
dags
dossier. -
Choisissez Choisir.
-
Choisissez Suivant, Mettre à jour l'environnement.
Affichage des modifications sur votre interface utilisateur Apache Airflow
Connexion à Apache Airflow
Vous avez besoin d'Politique d'accès à l'interface utilisateur d'Apache Airflow : A mazonMWAAWeb ServerAccessautorisations pour votre AWS compte dans AWS Identity and Access Management (IAM) pour afficher votre interface utilisateur Apache Airflow.
Pour accéder à votre interface utilisateur Apache Airflow
-
Ouvrez la page Environnements
sur la MWAA console Amazon. -
Choisissez un environnement.
-
Choisissez Open Airflow UI.
Quelle est la prochaine étape ?
-
Testez vos DAGs plugins personnalisés et vos dépendances Python localement à l'aide de l'option aws-mwaa-local-runner
on GitHub.