问题描述
我有ADF copyRestToADLS活动,可以正确地将json复杂对象保存到Data Lake存储中。但是我还需要将json值之一(myextravalue)传递给存储过程。我尝试在存储过程参数中将其引用为@{activity('copyRESTtoADLS').output.myextravalue
,但出现错误
在模板中未定义操作ExectuteStored procedure1中'inputs'引用的copyRestToADLS操作
{
"items": [1000 items],"count": 1000,"myextravalue": 15983444
}
我想尝试动态引用此值,因为copyRestToADLS源REST数据集会动态调用不同的REST端点,因此JSON对象的结构每次都不同。但是myextravalue始终存在于每个JSON调用中。
如何引用myextravalue并将其用作参数?
Rich750
解决方法
您可以在REST数据源上创建另一个活动的查询以获取json值。然后将其传递给活动的存储过程。
是的,它将创建一个新的REST请求,并且它似乎是实现目标的一种简便方法。主动进行查找以获取源的内容,但不会保存它。
另一种解决方案可能是在复制活动完成之后,从复制活动输出文件中获取值。
很高兴您通过这种方式解决了该问题:
“我创建了一个数据流,以从其中复制活动保存动态命名的输出json文件名的文件夹读取。从示例文件导入架构后,我选择myextravalue作为Sink Mapping部分中的唯一映射。”