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.
Installation de plugins personnalisés
Amazon Managed Workflows pour Apache Airflow prend en charge le gestionnaire de plugins intégré d'Apache Airflow, qui vous permet d'utiliser des opérateurs, des hooks, des capteurs ou des interfaces Apache Airflow personnalisés. Cette page décrit les étapes à suivre pour installer les plugins personnalisés Apache Airflowplugins.zip
fichier.
Table des matières
- Prérequis
- Fonctionnement
- Quand utiliser les plugins
- Vue d'ensemble des plugins personnalisés
- Exemples de plugins personnalisés
- Création d'un fichier plugins.zip
- Téléchargement plugins.zip vers Amazon S3
- Installation de plugins personnalisés sur votre environnement
- Exemples de cas d'utilisation pour plugins.zip
- 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
Pour exécuter des plugins personnalisés sur votre environnement, vous devez effectuer trois opérations :
-
Créez un
plugins.zip
fichier localement. -
Téléchargez le
plugins.zip
fichier local dans votre compartiment Amazon S3. -
Spécifiez la version de ce fichier dans le champ Fichier de plugins de la MWAA console Amazon.
Note
Si c'est la première fois que vous chargez un plugins.zip
fichier dans votre compartiment Amazon S3, vous devez également spécifier le chemin d'accès au fichier sur la MWAA console Amazon. Vous ne devez effectuer cette étape qu'une seule fois.
Quand utiliser les plugins
Les plug-ins ne sont nécessaires que pour étendre l'interface utilisateur d'Apache Airflow, comme indiqué dans la documentation d'Apache Airflow/dags
dossier à côté de votre DAG
code.
Si vous devez créer vos propres intégrations avec des systèmes externes, placez-les dans le dags
dossier/ou dans l'un de ses sous-dossiers, mais pas dans le plugins.zip
dossier. Dans Apache Airflow 2.x, les plugins sont principalement utilisés pour étendre l'interface utilisateur.
De même, aucune autre dépendance ne doit être inséréeplugins.zip
. Ils peuvent plutôt être stockés dans un emplacement situé sous le /dags
dossier Amazon S3, où ils seront synchronisés avec chaque MWAA conteneur Amazon avant le démarrage d'Apache Airflow.
Note
Tout fichier du /dags
dossier ou plugins.zip
qui ne définit pas explicitement un DAG objet Apache Airflow doit être répertorié dans un .airflowignore
fichier.
Vue d'ensemble des plugins personnalisés
Le gestionnaire de plugins intégré à Apache Airflow peut intégrer des fonctionnalités externes à son cœur en déposant simplement des fichiers dans un $AIRFLOW_HOME/plugins
dossier. Il vous permet d'utiliser des opérateurs, des hooks, des capteurs ou des interfaces Apache Airflow personnalisés. La section suivante fournit un exemple de structures de répertoires plates et imbriquées dans un environnement de développement local et les instructions d'importation qui en résultent, qui déterminent la structure de répertoire dans un fichier plugins.zip.
Répertoire des plugins personnalisés et limites de taille
Le planificateur Apache Airflow et les Workers recherchent des plugins personnalisés lors du démarrage sur le conteneur AWS Fargate géré pour votre environnement sur. /usr/local/airflow/plugins/
*
-
Structure du répertoire. La structure du répertoire (at
/
) est basée sur le contenu de votre*
plugins.zip
fichier. Par exemple, si vousplugins.zip
incluez leoperators
répertoire en tant que répertoire de premier niveau, le répertoire sera extrait dans votre environnement./usr/local/airflow/plugins/
operators
-
Limite de taille. Nous recommandons un
plugins.zip
fichier de moins de 1 Go. Plus la taille d'unplugins.zip
fichier est importante, plus le temps de démarrage d'un environnement est long. Bien qu'Amazon MWAA ne limite pas explicitement la taille d'unplugins.zip
fichier, si les dépendances ne peuvent pas être installées dans les dix minutes, le service Fargate expirera et tentera de rétablir la stabilité de l'environnement.
Note
Pour les environnements utilisant Apache Airflow v1.10.12 ou Apache Airflow v2.0.2, Amazon MWAA limite le trafic sortant sur le serveur Web Apache Airflow et ne vous autorise pas à installer des plugins ni des dépendances Python directement sur le serveur Web. À partir d'Apache Airflow v2.2.2, Amazon MWAA peut installer des plugins et des dépendances directement sur le serveur Web.
Exemples de plugins personnalisés
La section suivante utilise un exemple de code du guide de référence Apache Airflow pour montrer comment structurer votre environnement de développement local.
Exemple d'utilisation d'une structure de répertoire plate dans plugins.zip
Exemple d'utilisation d'une structure de répertoire imbriquée dans plugins.zip
Création d'un fichier plugins.zip
Les étapes suivantes décrivent les étapes que nous recommandons pour créer un fichier plugins.zip localement.
Première étape : tester les plugins personnalisés à l'aide de l'MWAACLIutilitaire Amazon
-
L'utilitaire d'interface de ligne de commande (CLI) réplique 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.
Deuxième étape : créer le fichier plugins.zip
Vous pouvez utiliser un utilitaire d'ZIParchivage intégré ou tout autre ZIP utilitaire (tel que 7zip
Note
L'utilitaire zip intégré pour le système d'exploitation Windows peut ajouter des sous-dossiers lorsque vous créez un fichier .zip. Nous vous recommandons de vérifier le contenu du fichier plugins.zip avant de le télécharger dans votre compartiment Amazon S3 afin de vous assurer qu'aucun répertoire supplémentaire n'a été ajouté.
-
Remplacez les répertoires par votre répertoire de plugins Airflow local. Par exemple :
myproject$
cd plugins
-
Exécutez la commande suivante pour vous assurer que le contenu dispose d'autorisations exécutables (macOS et Linux uniquement).
plugins$
chmod -R 755 .
-
Compressez le contenu de votre
plugins
dossier.plugins$
zip -r plugins.zip .
Téléchargement plugins.zip
vers Amazon S3
Vous pouvez utiliser la console Amazon S3 ou le AWS Command Line Interface (AWS CLI) pour charger un plugins.zip
fichier dans votre compartiment Amazon S3.
À l'aide du 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 effectuer un téléchargement à l'aide du AWS CLI
-
Dans votre invite de commande, accédez au répertoire dans lequel votre
plugins.zip
fichier est stocké. Par exemple :cd plugins
-
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
-
Utilisez la commande suivante pour charger le
plugins.zip
fichier dans le compartiment Amazon S3 de votre environnement.aws s3 cp plugins.zip s3://
YOUR_S3_BUCKET_NAME
/plugins.zip
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.
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.
-
Sélectionnez Charger.
-
Choisissez Ajouter un fichier.
-
Sélectionnez la copie locale de votre fichier
plugins.zip
, puis choisissez Upload.
Installation de plugins personnalisés sur votre environnement
Cette section décrit comment installer les plugins personnalisés que vous avez chargés dans votre compartiment Amazon S3 en spécifiant le chemin d'accès au fichier plugins.zip et en spécifiant la version du fichier plugins.zip chaque fois que le fichier zip est mis à jour.
Spécifier le chemin d'accès plugins.zip
sur la MWAA console Amazon (pour la première fois)
Si c'est la première fois que vous chargez un plugins.zip
fichier dans votre compartiment Amazon S3, vous devez également spécifier le chemin d'accès au fichier sur la MWAA console Amazon. Vous ne devez effectuer cette étape qu'une seule fois.
-
Ouvrez la page Environnements
sur la MWAA console Amazon. -
Choisissez un environnement.
-
Choisissez Modifier.
-
Dans le DAG code du volet Amazon S3, choisissez Browse S3 à côté du champ facultatif « Fichier de plugins ».
-
Sélectionnez le
plugins.zip
fichier dans votre compartiment Amazon S3. -
Choisissez Choisir.
-
Choisissez Suivant, Mettre à jour l'environnement.
Spécification de la plugins.zip
version sur la MWAA console Amazon
Vous devez spécifier la version de votre plugins.zip
fichier sur la MWAA console Amazon chaque fois que vous chargez une nouvelle version de votre fichier plugins.zip
dans votre compartiment Amazon S3.
-
Ouvrez la page Environnements
sur la MWAA console Amazon. -
Choisissez un environnement.
-
Choisissez Modifier.
-
Dans le DAG code du volet Amazon S3, choisissez une
plugins.zip
version dans la liste déroulante. -
Choisissez Suivant.
Exemples de cas d'utilisation pour plugins.zip
-
Découvrez comment créer un plugin personnalisé dansPlugin personnalisé avec Apache Hive et Hadoop.
-
Découvrez comment créer un plugin personnalisé dansPlugin personnalisé à patcher PythonVirtualenvOperator .
-
Découvrez comment créer un plugin personnalisé dansPlug-in personnalisé avec Oracle.
-
Découvrez comment créer un plugin personnalisé dansModifier le fuseau horaire DAG d'un sur Amazon MWAA.
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.