Azure Data Factory变量无法接收数组:表达式求值报错求助
报错原因及修正建议
核心问题
错误提示明确说明:activity('MyLookup').output.value[0]是字符串类型,你试图对字符串使用属性选择(.companyId)和索引([item()]),这在表达式语法里是不允许的——只有对象或数组类型才能用这种方式访问内部内容。
具体原因
你预期MyLookup活动的output.value是包含companyId字段的对象数组,但实际它返回的是字符串数组(比如直接返回了一串公司ID的字符串列表)。所以value[0]就是单个字符串,根本没有companyId这个属性。
修正方向
- 检查MyLookup输出结构:确认它的
output.value到底是对象数组还是字符串数组。如果是数据库查询,看看SQL是不是只返回了companyId单列,这种情况返回的就是字符串数组。 - 调整表达式:
- 如果是字符串数组,直接用
activity('MyLookup').output.value[item()]就能拿到对应项,不需要加.companyId。 - 如果确实需要从对象数组取
companyId,就得修改MyLookup的配置(比如调整SQL查询返回完整对象,或者确保输出结构是带字段的对象集合),再用activity('MyLookup').output.value[item()].companyId来取值。
- 如果是字符串数组,直接用
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

