gpt4 book ai didi

azure - 如何在 Azure 数据工厂 (Synapse Studio) 中使用管道表达式(不是数据流表达式)创建键值映射

转载 作者:行者123 更新时间:2023-12-03 02:07:34 24 4
gpt4 key购买 nike

我有两个数组,分别包含键和值:数组 1 ["key1", "key2", "key3"]数组 2 ["value1", "value2",“值3”]

通过 ADF 数据流表达式,我可以使用 keyValues 函数构造一个包含这两个数组的键值映射:

keyValues(["key1", "key2", "key3"],["value1", "value2", "value3"])

这将返回如下结果:

["key1" -> "value1", "key2" -> "value2", "key3" -> "value3"]

我想在管道内构造相同的键值映射,而不是数据流,但管道表达式中不提供 keyValues 函数。如何在 Azure 数据工厂/Synapse Studio 上使用管道表达式构建键值映射?

最佳答案

没有像数据流中那样使用管道表达式生成器创建键值对的直接方法。以下是在 ADF 管道中构建所需键值对的方法:

  • 我采用了 2 个具有以下值的参数:

enter image description here

  • 假设 req 是我们要在其中存储最终键值对的变量。我已使用值 {}
  • 对其进行了初始化

enter image description here

  • foreach 中,我使用 items 值作为 @range(0,length(pipeline().parameters.keys)) 来生成索引。

enter image description here

  • 现在,我采用了一个名为 temp 的变量,对 req 的当前值和当前迭代动态构建的键值对应用并集。
@string(union(json(variables('req')),json(concat('{"',pipeline().parameters.keys[item()],'":"',pipeline().parameters.values[item()],'"}'))))

enter image description here

  • 最后,我将每次迭代的 req 变量值更新为当前 temp 值,即 @variables('temp'):

enter image description here

  • 运行管道后,它将在 req 变量中生成以下输出: enter image description here

注意:ADF 管道不支持对象类型变量。每当你想使用这个对象(存储为字符串)时,你可以使用@json()函数将其转换为对象类型

关于azure - 如何在 Azure 数据工厂 (Synapse Studio) 中使用管道表达式(不是数据流表达式)创建键值映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74466093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com