View a markdown version of this page

Référence des commandes de la CLI Apache Airflow - 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.

Référence des commandes de la CLI Apache Airflow

Cette rubrique décrit les commandes d'interface de ligne de commande Apache Airflow prises en charge et non prises en charge sur Amazon Managed Workflows pour Apache Airflow.

Astuce

L'API REST est plus moderne que la CLI et est conçue pour une intégration programmatique avec des systèmes externes. REST est la méthode préférée pour interagir avec Apache Airflow.

Conditions préalables

La section suivante décrit les étapes préliminaires requises pour utiliser les commandes et les scripts de cette page.

Accès

AWS CLI

Le AWS Command Line Interface (AWS CLI) est un outil open source que vous pouvez utiliser pour interagir avec les AWS services à l'aide des commandes de votre shell de ligne de commande. Pour effectuer les étapes de cette page, vous devez disposer des éléments suivants :

Qu'est-ce qui a changé ?

  • v3 : Architecture du flux d'air. Apache Airflow v3 introduit des modifications architecturales majeures pour améliorer la sécurité et l'évolutivité, et pour faciliter la maintenance. Pour en savoir plus, reportez-vous à la section Mise à niveau vers Airflow 3.

  • v2 : structure de commande Airflow CLI. L'interface de ligne de commande Apache Airflow v2 est organisée de telle sorte que les commandes associées soient regroupées sous forme de sous-commandes, ce qui signifie que vous devez mettre à jour les scripts Apache Airflow v1 si vous souhaitez passer à Apache Airflow v2. Par exemple, unpause dans Apache Airflow v1 se trouve dags unpause dans Apache Airflow v2. Pour en savoir plus, consultez les modifications apportées à la CLI Airflow dans la version 2.0.

Commandes CLI prises en charge

La section suivante répertorie les commandes de la CLI Apache Airflow disponibles sur Amazon MWAA.

Commandes prises en charge

Apache Airflow v3
Versions mineures Commande

v3.0.6, v3.2.1, v3.3.1

détails des actifs

v3.0.6, v3.2.1, v3.3.1

liste des actifs

v3.0.6, v3.2.1, v3.3.1

les actifs se matérialisent

v3.0.6, v3.2.1, v3.3.1

créer du remblai

v3.0.6, v3.2.1, v3.3.1

aide-mémoire

v3.0.6, v3.2.1, v3.3.1

connexions ajouter

v3.0.6, v3.2.1, v3.3.1

suppression de connexions

v3.0.6, v3.2.1, v3.3.1

jours supprimés

v3.0.6, v3.2.1, v3.3.1

liste des jours

v3.0.6, v3.2.1, v3.3.1

liste des jours - emplois

v3.0.6, v3.2.1, v3.3.1

erreurs d'importation de la liste des jours

v3.0.6, v3.2.1, v3.3.1

liste des jours

v3.0.6, v3.2.1, v3.3.1

jours suivant l'exécution

v3.0.6, v3.2.1, v3.3.1

3 jours de pause

v3.0.6, v3.2.1, v3.3.1

rapport de 3 jours

v3.0.6, v3.2.1, v3.3.1

les jours se resérialisent

v3.0.6, v3.2.1, v3.3.1

spectacle de 3 jours

v3.0.6, v3.2.1, v3.3.1

État des jours

v3.0.6, v3.2.1, v3.3.1

3 jours de test

v3.0.6, v3.2.1, v3.3.1

déclencheur de 3 jours

v3.0.6, v3.2.1, v3.3.1

7 jours sans pause

v3.0.6, v3.2.1, v3.3.1

base de données propre

v3.0.6, v3.2.1, v3.3.1

comportements des prestataires

v3.0.6, v3.2.1, v3.3.1

les fournisseurs obtiennent

v3.0.6, v3.2.1, v3.3.1

crochets pour les fournisseurs

v3.0.6, v3.2.1, v3.3.1

liens vers les fournisseurs

v3.0.6, v3.2.1, v3.3.1

liste des fournisseurs

v3.0.6, v3.2.1, v3.3.1

notifications des fournisseurs

v3.0.6, v3.2.1, v3.3.1

secrets des fournisseurs

v3.0.6, v3.2.1, v3.3.1

déclencheur des fournisseurs

v3.0.6, v3.2.1, v3.3.1

widgets pour les fournisseurs

v3.0.6, v3.2.1, v3.3.1

rôles, ajouts et perms

v3.0.6, v3.2.1, v3.3.1

rôles del-perms

v3.0.6, v3.2.1, v3.3.1

création de rôles

v3.0.6, v3.2.1, v3.3.1

liste des rôles

v3.0.6, v3.2.1, v3.3.1

tâches claires

v3.0.6, v3.2.1, v3.3.1

tâches échouées

v3.0.6, v3.2.1, v3.3.1

liste des tâches

v3.0.6, v3.2.1, v3.3.1

rendu des tâches

v3.0.6, v3.2.1, v3.3.1

état des tâches

v3.0.6, v3.2.1, v3.3.1

états des tâches pour une journée

v3.0.6, v3.2.1, v3.3.1

test de tâches

v3.0.6, v3.2.1, v3.3.1

supprimer des variables

v3.0.6, v3.2.1, v3.3.1

les variables obtiennent

v3.0.6, v3.2.1, v3.3.1

ensemble de variables

v3.0.6, v3.2.1, v3.3.1

liste de variables

v3.0.6, v3.2.1, v3.3.1

Version

Apache Airflow v2
Versions mineures Commande

Version 2.0 et ultérieure

aide-mémoire

Version 2.0 et ultérieure

connexions ajouter

Version 2.0 et ultérieure

suppression de connexions

v2.2+ (remarque) Utilisation de commandes qui analysent les DAG

6 jours de remblai

Version 2.0 et ultérieure

jours supprimés

v2.2+ (remarque) Utilisation de commandes qui analysent les DAG

liste des jours

Version 2.0 et ultérieure

liste des jours - emplois

v2.6 et versions ultérieures

erreurs d'importation de la liste des jours

v2.2+ (remarque) Utilisation de commandes qui analysent les DAG

liste des jours

v2.2+ (remarque) Utilisation de commandes qui analysent les DAG

jours suivant l'exécution

Version 2.0 et ultérieure

3 jours de pause

Version 2.0 et ultérieure

rapport de 3 jours

v2.4 et versions ultérieures

les jours se resérialisent

Version 2.0 et ultérieure

spectacle de 3 jours

Version 2.0 et ultérieure

État des jours

Version 2.0 et ultérieure

3 jours de test

Version 2.0 et ultérieure

déclencheur de 3 jours

Version 2.0 et ultérieure

7 jours sans pause

v2.4 et versions ultérieures

base de données propre

Version 2.0 et ultérieure

comportements des prestataires

Version 2.0 et ultérieure

les fournisseurs obtiennent

Version 2.0 et ultérieure

crochets pour les fournisseurs

Version 2.0 et ultérieure

liens vers les fournisseurs

Version 2.0 et ultérieure

liste des fournisseurs

v2.8 et versions ultérieures

notifications des fournisseurs

v2.6 et versions ultérieures

secrets des fournisseurs

v2.7 et versions ultérieures

déclencheur des fournisseurs

Version 2.0 et ultérieure

widgets pour les fournisseurs

v2.6 et versions ultérieures

rôles et fonctionnalités supplémentaires

v2.6 et versions ultérieures

rôles del-perms

v2.6 et versions ultérieures

création de rôles

Version 2.0 et ultérieure

liste des rôles

Version 2.0 et ultérieure

tâches claires

Version 2.0 et ultérieure

tâches échouées-deps

Version 2.0 et ultérieure

liste des tâches

Version 2.0 et ultérieure

rendu des tâches

Version 2.0 et ultérieure

tâches exécutées

Version 2.0 et ultérieure

état des tâches

Version 2.0 et ultérieure

états des tâches pour une journée

Version 2.0 et ultérieure

test de tâches

Version 2.0 et ultérieure

supprimer des variables

Version 2.0 et ultérieure

les variables obtiennent

Version 2.0 et ultérieure

ensemble de variables

Version 2.0 et ultérieure

liste de variables

Version 2.0 et ultérieure

Version

Utilisation de commandes qui analysent les DAG

Si votre environnement exécute Apache Airflow v2.0.2, les commandes CLI qui analysent les DAG échoueront si le DAG utilise des plugins qui dépendent des packages installés via un : requirements.txt

Apache Airflow v2.0.2
  • dags backfill

  • dags list

  • dags list-runs

  • dags next-execution

Vous pouvez utiliser ces commandes CLI si vos DAG n'utilisent pas de plugins qui dépendent des packages installés via unrequirements.txt.

Exemple de code

La section suivante contient des exemples de différentes manières d'utiliser la CLI Apache Airflow.

Définir, obtenir ou supprimer une variable Apache Airflow v2

Vous pouvez utiliser l'exemple de code suivant pour définir, obtenir ou supprimer une variable au format<script> <mwaa env name> get | set | delete <variable> <variable value> </variable> </variable>.

[ $# -eq 0 ] && echo "Usage: $0 MWAA environment name " && exit if [[ $2 == "" ]]; then dag="variables list" elif [ $2 == "get" ] || [ $2 == "delete" ] || [ $2 == "set" ]; then dag="variables $2 $3 $4 $5" else echo "Not a valid command" exit 1 fi CLI_JSON=$(aws mwaa --region $AWS_REGION create-cli-token --name $1) \ && CLI_TOKEN=$(echo $CLI_JSON | jq -r '.CliToken') \ && WEB_SERVER_HOSTNAME=$(echo $CLI_JSON | jq -r '.WebServerHostname') \ && CLI_RESULTS=$(curl --request POST "https://$WEB_SERVER_HOSTNAME/aws_mwaa/cli" \ --header "Authorization: Bearer $CLI_TOKEN" \ --header "Content-Type: text/plain" \ --data-raw "$dag" ) \ && echo "Output:" \ && echo $CLI_RESULTS | jq -r '.stdout' | base64 --decode \ && echo "Errors:" \ && echo $CLI_RESULTS | jq -r '.stderr' | base64 --decode

Ajouter une configuration lors du déclenchement d'un DAG

Vous pouvez utiliser l'exemple de code suivant avec Apache Airflow v2 pour ajouter une configuration lors du déclenchement d'un DAG, telle queairflow trigger_dag 'dag_name' —conf '{"key":"value"}'.

import boto3 import json import requests import base64 mwaa_env_name = 'YOUR_ENVIRONMENT_NAME' dag_name = 'YOUR_DAG_NAME' key = "YOUR_KEY" value = "YOUR_VALUE" conf = "{\"" + key + "\":\"" + value + "\"}" client = boto3.client('mwaa') mwaa_cli_token = client.create_cli_token( Name=mwaa_env_name ) mwaa_auth_token = 'Bearer ' + mwaa_cli_token['CliToken'] mwaa_webserver_hostname = 'https://{0}/aws_mwaa/cli'.format(mwaa_cli_token['WebServerHostname']) raw_data = "trigger_dag {0} -c '{1}'".format(dag_name, conf) mwaa_response = requests.post( mwaa_webserver_hostname, headers={ 'Authorization': mwaa_auth_token, 'Content-Type': 'text/plain' }, data=raw_data ) mwaa_std_err_message = base64.b64decode(mwaa_response.json()['stderr']).decode('utf8') mwaa_std_out_message = base64.b64decode(mwaa_response.json()['stdout']).decode('utf8') print(mwaa_response.status_code) print(mwaa_std_err_message) print(mwaa_std_out_message)

Exécuter des commandes CLI sur un tunnel SSH vers un hôte bastion

Utilisez l'exemple suivant pour exécuter les commandes de la CLI Airflow à l'aide d'un proxy de tunnel SSH vers un hôte Linux Bastion.

Utiliser curl
  1. ssh -D 8080 -f -C -q -N YOUR_USER@YOUR_BASTION_HOST
  2. curl -x socks5h://0:8080 --request POST https://YOUR_HOST_NAME/aws_mwaa/cli --header YOUR_HEADERS --data-raw YOUR_CLI_COMMAND