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

如何设计ADF管道将Cosmos DB单个容器数据拆分至多容器

Azure Data Factory 管道实现Cosmos DB数据按规则分流迁移

一、参数与变量设计

  • 定义数组类型变量分流规则,存储目标容器与对应过滤条件的映射关系,避免重复配置多个复制活动:
    [
        {"targetContainer": "Sales", "filterValue": "salesOrderS4"},
        {"targetContainer": "Plan", "filterValue": "planning"},
        {"targetContainer": "Logic", "filterValue": "logisticsASN"}
    ]
    
  • 若需复用管道处理不同源容器,可新增字符串类型参数源容器名,默认值设为Ingest

二、管道活动执行流程

  1. Set Variable 活动:初始化分流规则变量(若变量已预设默认值,此步骤可省略)
  2. For Each 循环活动:遍历分流规则数组,开启并行执行(并行度设为3,匹配3个目标容器的处理需求)
  3. Copy Activity:嵌套在For Each循环内,完成单组过滤条件下的数据迁移

三、过滤表达式与动态内容配置

在Copy Activity的Cosmos DB源数据集配置中,使用动态查询实现过滤:

  • 打开源数据集的查询选项,输入动态内容:

    @concat('SELECT * FROM c WHERE c.source = "', item().filterValue, '"')
    

    (若后续需扩展多值过滤,可调整为@concat('SELECT * FROM c WHERE c.source IN ("', item().filterValue, '")'),对应多值用逗号分隔的字符串)

  • 目标数据集的容器名设置为动态内容:

    @item().targetContainer
    

四、关键配置细节

  • 源数据集:连接到Cosmos DB账户,容器名固定为Ingest(或引用源容器名参数)
  • 目标数据集:连接到同一Cosmos DB账户(或不同账户,按需调整),容器名通过动态内容引用当前循环项的targetContainer字段
  • 复制行为:根据业务需求选择全部复制或增量复制(增量复制需指定分区键或时间戳字段作为增量判断依据)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:43:17