在气流DAG UI中,我想为DAG的子集添加标签。假设有一个标签#weekend_runs
,我想添加到某些特定的DAG中。
是否可以基于Airflow中的标签过滤UI中的DAG视图?还是我需要做一些骇人听闻的事情,例如在DAG名称的末尾添加_weekend_run
,以便使用模糊搜索并过滤掉其他脚本?
谢谢!
答案 0 :(得分:7)
为了过滤DAG(例如按小组),您可以在每个dag中添加标签。 过滤器保存在Cookie中,可以通过重置按钮重置。
例如:
Dag文件:
dag = DAG('dag', tags=['example'])
注意:此功能仅适用于RBAC UI(使用rbac=True
中[webserver]
部分的airflow.cfg
启用)。
答案 1 :(得分:2)
这是不可能的,甚至在Airflow 2.0的roadmap中也没有。
正如您建议的那样,我过去使用的一种技巧是滥用一个字段(DAG
名称或Owner
),例如,在DAG名称中添加_weekend_run
。然后,我创建了一个Greasemonkey用户脚本,该脚本可以过滤掉您不想在UI中显示的DAG。以下脚本中的内容将为您的应用程序完成工作:
// ==UserScript==
// @name Only weekend runs
// @match http://<airflow-instance-url-here>/admin/
// @grant none
// ==/UserScript==
(function() {
'use strict';
$('td:not:contains("weekend_run")').parent().hide();
})();
不幸的是,要使其正常工作,必须将其安装在每个用户的浏览器上,这远非理想。当然,理想的做法是对Airflow项目进行PR:)