Azure Data Factory:如何将SQL查询结果动态传入REST数据集Relative URL
解决Script Activity结果读取与ForEach迭代问题
你的错误源于使用了错误的结果路径——Script Activity执行SQL后的输出里并没有value字段,查询返回的月度数据实际存放在resultSets[0].rows路径下,按以下步骤调整即可:
修正ForEach活动的迭代数据源
将ForEach的Items表达式替换为:@activity('MonYear').output.resultSets[0].rows如果需要先判断结果是否为空(避免空迭代报错),可以用:
@if(equals(length(activity('MonYear').output.resultSets[0].rows), 0), createArray(), activity('MonYear').output.resultSets[0].rows)在Copy Data活动中引用迭代值
在REST数据集的Relative URL配置里,使用以下表达式拼接目标路径:@concat('/salemonyr/', item().MonYear)
补充说明
Script Activity的SQL查询输出结构中:
resultSets是结果集数组,你的查询只有一个结果集,所以取索引[0]- 该结果集下的
rows字段包含所有返回的行,每行是一个包含MonYear键的对象,迭代时通过item().MonYear即可获取当前循环的月度值
内容的提问来源于stack exchange,提问作者paone
相关产品推荐
相关产品推荐

