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

如何从ADF复制活动获取SOQL统计值作为存储过程参数?

解决Azure数据工厂复制活动SOQL统计值传递给存储过程的问题

问题原因

你用@activity('CopyObject').output.rowscopied得到1是正常的——因为你的SOQL聚合查询返回单行单列的统计结果,复制活动仅复制了这一行数据到Blob,所以rowscopied统计的是复制的行数,而非实际的统计数值。

正确获取统计值的方法

复制活动执行聚合查询后,实际统计结果会被封装在output.value数组中,你需要从数组的第一个元素里提取对应字段值:

情况1:未给统计结果设置别名

你的原始SOQL返回的统计字段默认名为expr0,直接用以下表达式获取数值:

@activity('CopyObject').output.value[0].expr0

情况2:给统计结果设置别名(推荐,提升可读性)

先修改SOQL,给统计结果指定别名:

Select COUNT() AS recordCount from Accounts WHERE SystemModstamp > 2022-09-01T17:11:54Z AND SystemModstamp <= 2022-09-01T17:23:20Z

然后用别名字段获取统计值:

@activity('CopyObject').output.value[0].recordCount

验证方式

在ADF调试模式下,查看复制活动的输出详情,找到value数组中的具体字段名,确认后再调整表达式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:45:58