如何将Data Factory中标识键列的参数类型转为数组?
字符串键列转数组适配ADF Sink Upsert需求
针对你遇到的Lookup返回字符串类型key_columns,但Sink Upsert要求Array类型的问题,有两种直接可行的实现方式:
方式一:用数据流预处理Lookup结果
- 在Lookup活动后添加数据流活动,将Lookup的输出作为数据流的数据源
- 数据流中添加派生列转换,对
key_columns列执行拆分:
派生列表达式写:split(key_columns, ', ')
(如果你的数据里分隔符是纯逗号无空格,把,改成,即可) - 处理完成后,将数据流的输出作为For Each活动的输入,此时每个循环项的
key_columns就是Array类型
方式二:在For Each内用动态表达式直接转换
不需要额外预处理步骤,直接在复制活动的Sink配置中动态生成数组:
- 打开复制活动的Sink设置,找到Upsert的键列配置项,选择动态内容
- 输入表达式:
split(item().key_columns, ', ') - 该表达式会将当前循环项里的字符串型
key_columns按分隔符拆分为数组,直接满足Sink的类型要求
验证提示
可以开启ADF调试模式,查看For Each循环内的动态表达式输出,确认是否生成了正确的数组格式(例如["key1"]或["key2","key3"])
内容的提问来源于stack exchange,提问作者BlakeB9
相关产品推荐
相关产品推荐

