Airflow 创建dag运行时将参数传递给REST api

Airflow 创建dag运行时将参数传递给REST api,airflow,Airflow,看起来Airflow有一个实验性的RESTAPI,允许用户使用https POST请求创建dag运行。这太棒了 有没有办法通过HTTP将参数传递给create dag运行?从官方文件来看,答案似乎是“不”,但我希望我错了 从中判断,似乎可以将参数传递到dag运行中 如果http请求的主体包含json,并且该json包含顶级键conf,则conf键的值将作为配置传递给trigger\u dag。可以找到更多关于如何工作的信息 注意conf键的值必须是字符串,例如 curl -X POST \

看起来Airflow有一个实验性的RESTAPI,允许用户使用https POST请求创建dag运行。这太棒了

有没有办法通过HTTP将参数传递给create dag运行?从官方文件来看,答案似乎是“不”,但我希望我错了

从中判断,似乎可以将参数传递到dag运行中

如果http请求的主体包含json,并且该json包含顶级键
conf
,则
conf
键的值将作为配置传递给
trigger\u dag
。可以找到更多关于如何工作的信息

注意
conf
键的值必须是字符串,例如

curl -X POST \
    http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs \
    -H 'Cache-Control: no-cache' \
    -H 'Content-Type: application/json' \
    -d '{"conf":"{\"key\":\"value\"}"}'
curl-X POST\
http://localhost:8080/api/experimental/dags//dag_runs \
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-d'{“conf”:“{\“key\:\“value\”}”
我也有同样的问题。“conf”值必须为字符串

curl -X POST \
    http://localhost:8080/api/experimental/dags/<DAG_ID>/dag_runs \
    -H 'Cache-Control: no-cache' \
    -H 'Content-Type: application/json' \
    -d '{"conf":"{\"key\":\"value\"}"}'
curl-X POST\
http://localhost:8080/api/experimental/dags//dag_runs \
-H'缓存控制:无缓存'\
-H'内容类型:应用程序/json'\
-d'{“conf”:“{\“key\:\“value\”}”

拯救了我的一天:)我仍然无法理解。对于未来的读者来说,这并不意味着您只有一个常规的json字典作为负载。必须有一个json字典,其中包含一个键“conf”和一个字符串值,该字符串值必须是有效的json。json中的IE json。在我自己的(python)代码中,这意味着类似这样的内容:
payload=dict(conf=json.dumps(dict(key=“value”))
requests.post(url,json=payload,headers=headers)