Azure Data Factory中执行ForEach活动时出现BadRequest错误排查
Azure Data Factory ForEach活动BadRequest错误排查
错误信息
{ "code": "BadRequest", "message": null, "target": "pipeline//runid/c37bfe58-0491-4be7-a25d-87521d92237e", "details": null, "error": null }
针对ForEach活动Items配置的常见原因
- Items不是合法数组:ForEach要求Items必须返回JSON数组,若表达式返回单个值、null或非数组结构(比如直接用Lookup活动的
output而非output.value,或者参数是字符串而非数组),会触发该错误。 - 表达式语法错误:表达式存在拼写错误、括号未闭合、引用不存在的活动/参数(ADF对大小写敏感,比如
activity('Lookup')写成activity('LookUp')),或使用了无效函数。 - 空数组未开启支持:若Items返回空数组,但ForEach的「允许空数组」选项未勾选,也会抛出BadRequest。
- 子活动参数绑定错误:Switch或子管道的参数若依赖
@item(),但@item()的结构与参数要求不匹配(比如子管道需要字符串,却直接传递对象类型的@item()而非@item().xxx属性),也可能间接引发该错误。
排查步骤
- 测试Items表达式:在ADF表达式编辑器点击「测试」,确认返回结果为合法数组(未开启空数组支持时需非空)。
- 检查ForEach设置:确认「允许空数组」选项是否开启,适配数据源可能返回空结果的场景。
- 验证子活动绑定:核对Switch、子管道的参数绑定,确保
@item()的引用符合预期数据结构。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

