通过字典动态创建dag动态循环

时间:2019-06-20 05:52:43

标签: airflow google-cloud-composer

我正在尝试动态添加气流dag,以循环遍历字典键并将键分配为dag名称。

dag很好,但我得到:“此DAG在Web服务器的DagBag对象中不可用。它显示在此列表中,因为调度程序将其在metdata数据库中标记为活动状态”,并且不可单击。 >

def create_dag(dag_id):
    args = build_default_args(config_file)
    dag = DAG(dag_id,schedule_interval='30 11 * * *', default_args=args)
    with dag:
        init_task = BashOperator(
                    task_id='test_init_task',
                    bash_command='echo "task"',
                    dag=dag
                )
        init_task
    return dag

def get_data(**kwargs):
    my_list=[]
    file = open("/home/airflow/gcs/data/test.json")
    data=json.load(file)
    return data

data1 = data()

for dict in data1:
    for pair in dict.items():
        key , value = pair
        print "key",ls_table ,"value",metrics
        dag_id = '{}'.format(key)
        default_args = {'owner': 'airflow',
                    'start_date': datetime(2019, 6, 18)
                    }
        schedule = '@daily'
        globals()[dag_id] = create_dag(dag_id)

0 个答案:

没有答案