如何从 Azure 数据工厂中的 json 对象中提取值
Posted
技术标签:
【中文标题】如何从 Azure 数据工厂中的 json 对象中提取值【英文标题】:How to extract the value from a json object in Azure Data Factory 【发布时间】:2022-01-23 00:43:26 【问题描述】:我有我的 ADF 管道,设置变量活动的最终输出类似于 name:test, value:1234
,
这个变量的输入是
"variableName": "test",
"value": "test:1234"
设置变量项列中提供的表达式为@item().ColumnName
。我的 JSon 文件中的 ColumnName 类似于 "ColumnName":"test:1234"
我怎样才能改变它,以便我只得到 1234。我只对这里的价值感兴趣。
【问题讨论】:
【参考方案1】:看起来您需要用冒号拆分值,您可以使用 Azure 数据工厂 (ADF) expressions and functions:split
函数将字符串拆分为数组,并使用 last
函数获取数组中的最后一项。在这种情况下,这非常有效:
@last(split(variables('varWorking'), ':'))
示例结果:
更改变量名称以适合您的情况。您还可以使用lastIndexOf
之类的字符串方法来定位冒号,然后从那里获取字符串的其余部分。示例表达式如下所示:
@substring(variables('varWorking'),add(indexof(variables('varWorking'), ':'),1),4)
这有点复杂,但可能适合您,具体取决于要求。
【讨论】:
【参考方案2】:自从您获得 item
以来,您似乎在迭代器中使用它,但是,我尝试使用简单的 json
查找值
@last(split(activity('Lookup').output.value[0].ColumnName,':'))
【讨论】:
以上是关于如何从 Azure 数据工厂中的 json 对象中提取值的主要内容,如果未能解决你的问题,请参考以下文章
如何从 azure blob 存储中获取 json 数据并使用 azure 数据工厂将其发送到 power apps dataverse
如何使用数据工厂将数据从 Azure Blob 存储增量加载到 Azure SQL 数据库?