Comment puis-je résoudre les erreurs qui s’affichent lorsque j'utilise la CLI Apache Airflow dans un environnement MWAA ?
Je souhaite résoudre les erreurs qui s’affichent lorsque j'utilise l'interface de ligne de commande (CLI) Apache Airflow dans un environnement Amazon Managed Workflows pour Apache Airflow (Amazon MWAA).
Brève description
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Amazon MWAA permet aux utilisateurs d'utiliser les commandes CLI Apache Airflow pour interagir avec leur environnement Apache Airflow. Ces commandes sont traitées par le serveur Web d'un environnement Amazon MWAA et utilisent le jeton CLI Apache Airflow pour l'authentification.
Remarque : Il est recommandé d'utiliser uniquement la CLI Apache Airflow pour des actions synchrones, telles que des opérations uniques. Il n'est pas recommandé d'utiliser la CLI Apache Airflow pour des actions asynchrones telles que l'appel de vos DAG. Afin de préserver la disponibilité du serveur Web pour tous les utilisateurs, limitez l'utilisation des commandes Apache Airflow à un maximum de 4 commandes simultanées.
Voici les erreurs courantes que vous pouvez recevoir lorsque vous utilisez la CLI Apache Airflow dans votre environnement Amazon MWAA :
- Erreurs d'accès refusé
- Erreur de DAG introuvable
- Erreurs de code de réponse HTTP 4##
- Erreurs de code de réponse HTTP 5##
Résolution
Résolvez les messages d'erreur que vous recevez lorsque vous utilisez la CLI Apache Airflow en fonction des types d'erreurs suivants :
Erreurs d'accès refusé
Vérifiez si vous avez reçu le message d'erreur suivant ou similaire :
"AccessDeniedException: An error occurred (AccessDeniedException) when calling the CreateCliToken operation: User: is not authorized to perform: airflow:CreateCliToken on resource."
Pour résoudre cette erreur, assurez-vous que le principal AWS Identity and Access Management (IAM) configuré possède l’instruction de stratégie d'autorisations requise. L’instruction de stratégie d'autorisations doit autoriser le principal IAM à exécuter l'API airflow:CreateCliToken. Attachez la stratégie IAM suivante à votre principal IAM pour permettre la création du jeton CLI Apache Airflow :
Remarque : Remplacez example-region par la région AWS requise, example-account-number par le numéro de compte requis et example-environment-name par le nom de l'environnement.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "arn:aws:airflow:::environment/" } ] }
Erreur de DAG introuvable
Les commandes CLI Apache Airflow, telles que dags list et dags next-execution requièrent l'analyse du fichier DAG. Si votre DAG est traité par un package qui n'est pas installé sur le serveur Web, l'erreur suivante ou similaire s'affiche :
"airflow.exceptions.AirflowException: Dag 'sample\_\_dag' could not be found; either it does not exist or it failed to parse."
Pour les environnements Amazon MWAA qui utilisent un serveur Web privé uniquement, celui-ci n'a pas accès à Internet pour installer des packages supplémentaires. Les packages supplémentaires se trouvent dans le référentiel public Python Package Index. Pour plus d'informations, consultez Python Package Index sur le site Web de Python Package Index. Si le serveur Web tente d'installer des packages à partir de Python Package Index ou d'un autre référentiel hébergé publiquement, l'installation des packages échoue. Pour résoudre ce problème, installez les packages répertoriés dans le fichier d'exigences à partir des fichiers Python wheels (.whl).
Remarque : Une fois les packages supplémentaires installés sur le serveur Web, les commandes CLI Apache Airflow qui requièrent l'analyse du fichier DAG s'exécutent correctement.
Codes de réponse d’erreurs HTTP 4##
400 HTTP response - Command parsing error
Cette erreur indique une erreur d'analyse de commande Apache Airflow. Cette erreur se produit lorsqu'une commande CLI Apache Airflow est soumise avec une syntaxe incorrecte, telle qu'un paramètre manquant ou une option non valide. Pour résoudre cette erreur, assurez-vous d'utiliser la syntaxe correcte pour la commande CLI Apache Airflow que vous utilisez. Pour plus d'informations, consultez la section Référence de l'interface de ligne de commande et des variables d'environnement sur le site Web d'Apache Airflow.
Remarque : Pour les commandes CLI Apache Airflow open source, la structure de commande airflow [-h] GROUP_OR_COMMAND est utilisée. Pour les commandes CLI Apache Airflow dans l'environnement Amazon MWAA, la structure de commande [-h] GROUP_OR_COMMAND est utilisée.
403 forbidden HTTP response - You don't have permission to access the requested resource
Cette erreur indique que vous n'êtes pas autorisé à accéder à la ressource demandée et qu'elle est protégée en lecture ou illisible par le serveur. Cette erreur se produit lorsqu'une commande CLI Apache Airflow est soumise avec un jeton d'authentification expiré. Le jeton d'authentification est valide pendant 60 secondes et il s’agit une limite stricte qui ne peut être ni ajustée ni augmentée. Pour résoudre cette erreur, générez un nouveau jeton et soumettez à nouveau la commande CLI Apache Airflow.
Remarque : Amazon MWAA utilise deux jetons pour l'authentification : le jeton CLI et le jeton de connexion Web. Le jeton CLI authentifie les utilisateurs et leur permet de soumettre des commandes CLI Apache Airflow. Le jeton de connexion Web authentifie les utilisateurs qui se connectent à l'interface utilisateur d'Apache Airflow pour un environnement. Si une requête CLI Apache Airflow utilise un jeton de connexion Web, celui-ci n'est pas valide et le serveur Web renvoie la réponse HTTP 403 forbidden. Pour résoudre ce problème, mettez à jour votre script afin de créer un jeton CLI pour votre environnement Amazon MWAA.
405 HTTP response - Invalid request was made
Cette erreur indique que la requête n'était pas valide. Cette erreur se produit lorsque vous n'utilisez pas de requête POST pour envoyer une commande CLI Apache Airflow au serveur Web. Pour résoudre cette erreur, mettez à jour votre script afin d'utiliser la méthode POST pour envoyer des requêtes au serveur Web.
405 HTTP response - Oops! Something bad has happened
Cette erreur indique qu'une commande CLI Apache Airflow non prise en charge a été soumise. Pour résoudre ce problème, vérifiez que la commande que vous utilisez est prise en charge pour la version d'Apache Airflow utilisée dans votre environnement.
Codes de réponse d'erreurs HTTP 5##
500 HTTP response - Response Timeout
Les commandes CLI Apache Airflow sont traitées par le serveur Web dans un environnement Amazon MWAA. Si votre environnement est configuré pour un accès privé uniquement, le serveur Web ne peut pas être routé publiquement. Pour résoudre cette erreur, indiquez un itinéraire disponible depuis la machine locale depuis laquelle les commandes CLI Apache Airflow sont envoyées au serveur Web privé. Pour plus d'informations, consultez la section Comment puis-je accéder à l'interface utilisateur d'Apache Airflow en utilisant le mode d'accès réseau privé dans mon environnement Amazon MWAA ?
503 HTTP response
Cette erreur indique que vous avez dépassé la simultanéité recommandée des commandes CLI Apache Airflow. Cela entraîne une augmentation de l'utilisation des ressources de votre serveur Web et peut entraîner l'indisponibilité d'un serveur Web. Pour résoudre cette erreur, réduisez la fréquence à laquelle vous soumettez des commandes CLI Apache Airflow. Assurez-vous que les commandes précédentes sont terminées avant de soumettre de nouvelles commandes.
Contenus pertinents
- demandé il y a 2 moislg...
- demandé il y a 9 moislg...
- demandé il y a 7 moislg...
- demandé il y a 2 anslg...
- demandé il y a 2 moislg...
- AWS OFFICIELA mis à jour il y a 3 mois
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 3 ans