动态引用Data Factory副本中的Json值

问题描述

我有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部分中的唯一映射。”