Ajout ou mise à jour des DAG - 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.

Ajout ou mise à jour des DAG

Les graphes acycliques dirigés (DAG) sont définis dans un fichier Python qui définit la structure du DAG sous forme de code. Vous pouvez utiliser laAWS CLI console Amazon S3 pour charger les DAG dans votre environnement. Cette page décrit les étapes à suivre pour ajouter ou mettre à jour des DAG Apache Airflow dans votre environnement Amazon Managed Workflows pour Apache Airflow à l'aide dudags dossier de votre compartiment Amazon S3.

Prérequis

Vous aurez besoin des informations suivantes avant de pouvoir suivre les étapes de cette page.

  • Autorisations : votreAWS compte doit avoir été autorisé par votre administrateur à accéder à la politique de contrôleFullConsoleAccess d'accès AmazonMWAA pour votre environnement. En outre, votre environnement Amazon MWAA doit être autorisé par votre rôle d'exécution à accéder auxAWS 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, veuillez consulter Modes d'accès à Apache Airflow.

  • Configuration Amazon S3 : le compartiment Amazon S3 utilisé pour stocker vos DAG, vos plug-ins personnalisés et vos dépendances Pythonrequirements.txt doit être configuré avec l'accès public bloqué et le contrôle de version activé.plugins.zip

Fonctionnement

Un graphe acyclique dirigé (DAG) est défini dans un seul fichier Python qui définit la structure du DAG sous forme de code. Il se compose des éléments suivants :

Pour exécuter une plateforme Apache Airflow dans un environnement Amazon MWAA, vous devez copier votre définition DAG dans ledags dossier de votre compartiment de stockage. Par exemple, le dossier DAG de votre compartiment de stockage peut ressembler à ceci :

Exemple dossier DAG
dags/ └ dag_def.py

Amazon MWAA synchronise automatiquement les objets nouveaux et modifiés de votre compartiment Amazon S3 avec le planificateur Amazon MWAA et le/usr/local/airflow/dags dossier des conteneurs de travail toutes les 30 secondes, préservant ainsi la hiérarchie des fichiers de la source Amazon S3, quel que soit le type de fichier. Le temps nécessaire à l'apparition des nouveaux DAG dans l'interface utilisateur d'Apache Airflow est contrôlé parscheduler.dag_dir_list_interval. Les modifications apportées aux DAG existants seront prises en compte lors de la prochaine boucle de traitement des DAG.

Note

Il n'est pas nécessaire d'inclure le fichierairflow.cfg de configuration dans votre dossier DAG. Vous pouvez remplacer les configurations par défaut d'Apache Airflow depuis la console Amazon MWAA. Pour plus d'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 dans vos DAG et les plugins personnalisés que vous spécifiez dans un MWAAplugins.zip sur Amazon ont changé entre Apache Airflow v1 et Apache Airflow v2. Par exemple,from airflow.contrib.hooks.aws_hook import AwsHook dans Apache Airflow v1 est devenufrom airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook dans Apache Airflow v2. Pour en savoir plus, consultez la section Référence de l'API Python dans le guide de référence d'Apache Airflow.

Tester les DAG à l'aide de l'utilitaire Amazon MWAA CLI

  • L'outil d'interface de ligne de commande (interface de commande) permet de répliquer localement un environnement Amazon Managed Workflows pour Apache Airflow.

  • La CLI crée localement une image de conteneur Docker similaire à une image de production Amazon MWAA. Cela vous permet d'exécuter un environnement Apache Airflow local pour développer et tester des DAG, des extensions personnalisées et des dépendances avant de les déployer sur Amazon MWAA.

  • Pour exécuter la CLI, reportez-vous à la section aws-mwaa-local-runneronGitHub.

Chargement du code DAG dans Amazon S3

Vous pouvez utiliser la console Amazon S3 ou leAWS Command Line Interface (AWS CLI) pour charger le code DAG dans votre compartiment Amazon S3. Les étapes suivantes supposent que vous chargez le code (.py) vers un dossier nommédags dans votre compartiment Amazon S3.

Utilisation du AWS CLI

L'AWS Command Line Interface (AWS CLI) est un outil à code source libre qui vous permet d'interagir avec les services AWS à l'aide des commandes du terminal de ligne de commande. Pour effectuer les étapes de cette page, vous avez besoin des éléments suivants :

Pour télécharger à l'aide duAWS CLI
  1. Utilisez la commande suivante pour répertorier tous vos compartiments Amazon S3.

    aws s3 ls
  2. Utilisez la commande suivante pour répertorier les fichiers et dossiers du compartiment Amazon S3 pour votre environnement.

    aws s3 ls s3://YOUR_S3_BUCKET_NAME
  3. La commande suivante permet de charger undag_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 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 basée sur le Web vous permettant de créer et gérer les ressources Amazon S3. Les étapes suivantes supposent que vous avez un dossier DAGs nommédags.

Pour charger à l'aide de la console Amazon S3
  1. Ouvrez la page Environnements sur la console Amazon MWAA.

  2. Choisissez un environnement.

  3. Sélectionnez le lien du compartiment S3 dans le code DAG du volet S3 pour ouvrir votre compartiment de stockage sur la console Amazon S3.

  4. Choisissez le dossier dags.

  5. Sélectionnez Charger.

  6. Choisissez Ajouter un fichier.

  7. Sélectionnez la copie locale de votre fichierdag_def.py, puis choisissez Charger.

Spécifier le chemin d'accès à votre dossier DAGS sur la console Amazon MWAA (première fois)

Les étapes suivantes supposent que vous spécifiez le chemin d'accès à un dossier nommé dans votre compartiment Amazon S3dags.

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

  2. Choisissez l'environnement dans lequel vous souhaitez exécuter les DAG.

  3. Choisissez Edit (Modifier).

  4. Dans le code DAG du volet Amazon S3, choisissez Browse S3 à côté du champ du dossier DAG.

  5. Sélectionnez votredags dossier.

  6. Choisissez Choisir.

  7. Choisissez Suivant, Mettre à jour l'environnement.

Affichage des modifications sur votre interface utilisateur Apache Airflow

Connexion à Apache Airflow

Vous devezPolitique d'accès à l'interface utilisateur d'Apache Airflow : A mazonMWAAWeb ServerAccess disposer des autorisations nécessaires pour accéder à votreAWS compte dansAWS Identity and Access Management (IAM) pour accéder à l'interface utilisateur d'Apache Airflow.

Pour accéder à votre interface utilisateur Apache Airflow
  1. Ouvrez la page Environnements sur la console Amazon MWAA.

  2. Choisissez un environnement.

  3. Choisissez Open Airflow UI.

Quelle est la prochaine étape ?

  • Testez vos DAG, vos plugins personnalisés et vos dépendances Python localement à l'aide de aws-mwaa-local-runneronGitHub.