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

Apache NiFi同步MySQL报错:ConvertJSONToSQL缺失updateKey字段值

Apache NiFi MySQL同步报错:JSON无updateKey列值的解决办法

我是Apache NiFi新手,搭建了源MySQL到目标MySQL的同步流,已经将ConvertJSONToSQL的Transfer field Names设为true,但仍然报错:

ConvertJSONToSQL Json does not have a value for updateKey column

相关截图:

  • 流截图:流截图
  • ConvertJSONToSQL配置:ConvertJSONToSQL配置
  • JSON数据:JSON数据
  • 源表结构:源表结构
  • 目标表结构:目标表结构
  • EvaluateJsonPath配置:EvaluateJsonPath配置

问题根源及解决步骤

核心问题是ConvertJSONToSQL找不到配置的updateKey对应的字段值,结合截图信息,按以下步骤排查:

  1. 修正字段大小写匹配
    你在ConvertJSONToSQL里将Update Key设为小写id,但JSON数据里的对应字段是大写ID。开启Transfer field Names=true后NiFi会严格区分字段大小写,解决方法二选一:

    • 把ConvertJSONToSQL的Update Key改为大写ID,和JSON字段名一致
    • 调整EvaluateJsonPath配置,给$.ID设置别名id,让输出JSON的字段名与Update Key匹配
  2. 检查EvaluateJsonPath输出结构
    当前EvaluateJsonPath提取的是$.ID,输出JSON字段为ID,而目标表主键是小写id。只需在EvaluateJsonPath中给$.ID设置别名id,就能让输出JSON的字段名与目标表主键、Update Key对齐。

  3. 确认所有FlowFile包含主键字段
    添加LogAttribute处理器打印FlowFile内容,确保所有待同步的数据里都存在对应的主键字段(id或ID),没有缺失情况。

  4. 对齐目标表主键名称
    目标表主键为小写id,因此ConvertJSONToSQL的Update Key必须与该名称完全一致,同时JSON中的对应字段名也要匹配,大小写不能出错。

内容的提问来源于stack exchange,提问作者Muddassir Rahman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:10:25