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

Azure Synapse:如何将Lookup的列值传入存储过程参数

解决方法:将Lookup输出的文件名传入存储过程参数

问题根源

你的Get Valid Entity Names活动输出结构里,File_Name并不是直接挂在output根节点下,而是嵌套在output.value数组的每个对象中。直接用@activity('Get Valid Entity Names').output.File_Name自然找不到这个属性,导致报错。

输出结构回顾

活动返回的JSON结构如下:

{"count": 2,"value": [{"Entity_Name": "Member","File_Name": "MemberPARQUET"},{"Entity_Name": "Dealer_Group","File_Name": "Dealer_Group.PARQUET"}]}

解决方案分两种场景:

场景1:存储过程支持批量更新(推荐)

如果你的存储过程可以接受多个文件名(比如通过逗号分隔的字符串、表值参数),可以用表达式把所有File_Name拼接成合适的格式:

  • 拼接成逗号分隔字符串的表达式:
    @join(activity('Get Valid Entity Names').output.value, ',', item().File_Name)
    
    这个表达式会生成MemberPARQUET,Dealer_Group.PARQUET,直接传给存储过程参数即可,存储过程内部可以用字符串拆分逻辑批量更新所有文件的状态。

场景2:逐个调用存储过程更新

如果必须单个文件单独处理,需要用ForEach活动循环遍历文件名数组:

  1. 添加ForEach活动,将其Items属性设置为:
    @activity('Get Valid Entity Names').output.value
    
  2. 在ForEach内部添加调用存储过程的活动,将存储过程的参数值设置为:
    @item().File_Name
    
    这样每次循环都会取数组里当前元素的File_Name,传入存储过程完成单文件更新。

内容的提问来源于stack exchange,提问作者Shweta Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 17:24:58