Azure | ADF |如何读取对象类型的变量(使用其他变量)?

问题描述 投票:0回答:1

我正在使用Azure数据工厂。我正在尝试使用String变量在JSON数组中查找Key并检索其Value。我似乎无法弄清楚如何在ADF中执行此操作。

详细信息:

我已经定义了一个名为“ obj”的管道参数,键入“ Object”和内容:{"values":{"key1":"value1","key2":"value2"}}

Parameter definition

我需要使用此管道来查找名为“ key1”的值,并将其作为“ value1”返回; “ key2”并将其返回为“ value2” ...,依此类推。我打算将我的“ obj”用作字典,以实现此目的。

从技术上讲,如果我想找到key2的值,我可以使用下面的代码,它将返回“ value2”:

@pipeline().parameters.obj.values.key2

我不知道是如何使用变量(而不是硬编码的“ key2”)来实现的。

[清除内容:我有一个for循环,并且在其中,我只有一个复制活动:for-each contents复制活动的目的是复制名为item().name的文件,但根据[obj]将其保存为ADLS item().name所转换的任何内容

这是使用Python可以构建for循环的方式:python-for-loop

[在ADF中,我尝试了很多事情(使用concat,replace ...),但没有任何效果。最简单的是:

@pipeline().parameters.obj.values.item().name

但是会引发以下错误:

{"code":"BadRequest","message":"ErrorCode=InvalidTemplate, ErrorMessage=Unable to parse expression 'pipeline().parameters.obj.values.item().name'","target":"pipeline/name_of_the_pipeline/runid/run_id","details":null,"error":null}

所以,您能提供一些如何定义我的表情的想法吗?我觉得这一定很明显,但我没到那里.....谢谢。

json azure azure-data-factory-2
1个回答
0
投票

根据您的评论,这是Filter活动的输出。 Filter活动的输出是一个包含名为value的数组的对象,因此您需要遍历“ output.value”:enter image description here

在ForEach内部,您使用“ item()。name”引用项目的名称:enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.