You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:通过Curl向Airflow UI导入多变量的Payload结构

Airflow API批量导入变量的正确方式

你遇到的问题根源是:Airflow v1 REST API的/api/v1/variables POST接口仅支持创建单个变量,不接受批量提交的格式,所以你尝试的几种payload都会触发schema校验错误。

错误原因解析

  • 用{"key1": "value1", "key2": "value2"}:接口要求必须传key和value字段,自定义键名属于未知字段,同时缺失必填项。
  • 用{"variables": [...]}:接口不存在variables这个参数,只会识别单个变量的key/value字段。
  • 用数组[{"key": ...}, ...]:接口期望接收单个JSON对象,而非数组,因此报类型不匹配。

解决方案

方案1:循环调用单个创建接口(适合少量变量)

通过shell循环逐个发送请求,示例如下:

# 定义要创建的变量列表
variables=(
  '{"key": "var1", "value": "val1"}'
  '{"key": "var2", "value": "val2"}'
)

# 循环执行curl命令
for var_payload in "${variables[@]}"; do
  curl -X POST 'http://10.135.7.13:9081/api/v1/variables' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -d "$var_payload" \
    --user 'usr:pwd'
done

方案2:使用Airflow CLI批量导入(高效适合大量变量)

这是官方推荐的批量导入方式,步骤如下:

  1. 准备一个JSON格式的变量文件(比如airflow_vars.json),格式为键值对:
{
  "var1": "val1",
  "var2": "val2",
  "var3": "val3"
}
  1. 在Airflow部署的服务器上(或能访问Airflow CLI的环境)执行导入命令:
airflow variables import airflow_vars.json

如果需要远程执行,可结合SSH:

ssh your-user@airflow-server "airflow variables import /path/to/airflow_vars.json"

内容的提问来源于stack exchange,提问作者Vanishree Yarakad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:53:01