2017-09-19 2 views
3

J'ai cherché de nombreux liens, mais n'a pas trouvé de solution au problème que j'ai. J'ai vu l'option de passer key/var dans l'interface utilisateur de flux d'air, mais il est vraiment déroutant pour l'utilisateur final de travailler comme quelle touche est associée à quel DAG. Est-il possible d'implémenter des fonctionnalités telles que:Dans le flux d'air peut terminer les paramètres de passe utilisateur à des touches qui sont associés à certains dag

While running an airflow job, end user will be asked for values to some parameters and after entering those details airflow will run the job.

Répondre

2

Malheureusement, il n'est pas possible d'attendre l'entrée de l'utilisateur, disons dans l'interface utilisateur du flux d'air. Les DAG sont créés par programmation, ce qui signifie qu'ils sont définis en tant que code et ne doivent pas être dynamiques car ils sont importés dans le serveur Web, le planificateur et les travailleurs en même temps et doivent être identiques.

Il y a deux solutions de contournement que j'ai trouvées, et nous utilisons d'abord dans la production pendant un moment.

1) Créer une petite enveloppe autour des variables. Pour chaque groupe de disponibilité de base de données, chargez les variables et composez les arguments qui sont ensuite transmis aux opérateurs via default_arguments.

2) Ajouter un opérateur Slack qui peut être configuré par programme pour attendre l'entrée de l'utilisateur. Ensuite, propagez cette information via XCOM dans le prochain opérateur.