You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Data Factory中为Azure Cosmos DB添加指定嵌套字段?

在Azure Data Factory Data Flow中为嵌套JSON添加派生字段的正确方法

要在嵌套路径properties->execution下新增items字段且不覆盖原有属性,你需要使用ADF Data Flow的merge()函数来合并原有嵌套对象与新字段,具体步骤如下:

操作步骤

  1. 配置数据源:连接到Cosmos DB的orders容器,确保数据源能正确读取根级的properties字段(默认配置通常即可满足)。
  2. 添加派生列转换:在数据流中插入「派生列」组件。
  3. 设置嵌套派生规则:
    • 在派生列的名称输入框中,直接指定嵌套路径:properties.execution
    • 在表达式框中输入:
      merge(properties.execution, createMap('items', array(properties.execution.item)))
      
      • merge()函数会保留execution原有所有字段,同时合并新创建的items字段
      • array(properties.execution.item)将item的字符串值转换为数组格式(如"abc"转为["abc"])
  4. 配置目标数据集:
    • 连接到Cosmos DB目标容器,写入行为选择Upsert(确保更新原有文档而非完全替换)
    • 在映射面板中,保持根级properties字段的默认映射即可,无需单独配置嵌套字段的映射

关键说明

  • 不要直接派生根级的properties字段,否则会覆盖该对象下的所有原有属性
  • merge()函数是核心:它能在保留原有嵌套对象结构的前提下,新增或修改指定字段
  • 如果容器有分区键,需在数据流中确保分区键字段被正确传递,避免写入失败

内容的提问来源于stack exchange,提问作者Nikita Christie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:49:57