基于Data Factory管道名称动态获取邮箱配置的报错解决咨询
错误修正方案
错误原因
activity('Lookup1').output.value是数组类型(哪怕你的json只有单个对象,Lookup活动也会把它包装成数组中的一个元素)。你直接用字符串pipeline().DataFactory作为索引访问数组,ADF会判定非法——数组仅支持整数下标,所以触发报错。
修正表达式
你需要先从数组中取出目标对象,再通过方括号语法动态访问对象属性,两种写法都可以:
- 直接指定数组下标(适用于确认数组只有一条数据的场景):
@activity('Lookup1').output.value[0][pipeline().DataFactory]
- 使用
first()函数简化取第一个元素的操作(更通用,可读性更强):
@first(activity('Lookup1').output.value)[pipeline().DataFactory]
逻辑说明
先通过value[0]或first(value)拿到json对应的对象,再用[pipeline().DataFactory]这种动态属性访问方式,就能根据当前管道名称(匹配json里的键名)自动取出对应的邮箱列表。
内容的提问来源于stack exchange,提问作者hari_agg
相关产品推荐
相关产品推荐

