在复制活动中配置 Azure Cosmos DB for MongoDB

本文概述了如何在数据管道中使用复制活动从/向 Azure Cosmos DB for MongoDB 复制数据。

支持的配置

有关复制活动下每个选项卡的配置,请分别转到以下各部分。

常规

若要配置“常规”设置选项卡,请参阅常规”设置指导。

转到“”选项卡以配置复制活动源。 有关详细配置,请参阅以下内容。

显示源选项卡和属性列表的屏幕截图。

需要以下属性:

  • 连接:从连接列表中选择 Azure Cosmos DB for MongoDB 连接。 如果连接不存在,则通过选择连接列表底部的“更多”,创建新的 Azure Cosmos DB for MongoDB 连接。
  • 数据库:从下拉列表中选择数据库。
  • 集合名称:指定 Azure Cosmos DB 集合的名称。 可以从下拉列表中选择集合。

在“高级”下,可以指定以下字段:

  • 筛选器:使用查询运算符指定选择筛选器。 若要返回集合中的所有文档,请省略此参数或传递空文档 ({})。
  • 游标方法:选择“+ 新建”以指定执行基础查询的方式。 执行查询的方法包括:
    • 项目:指定要在文档中返回的用于投影的字段。 若要返回匹配文档中的所有字段,请省略此参数。
    • 排序:指定查询返回匹配文档的顺序。 有关详细信息,请转到cursor.sort()
    • 限制:指定服务器返回的最大文档数。 有关详细信息,请转到cursor.limit()
    • 跳过:指定要跳过的文档数量以及 MongoDB 开始返回结果的位置。 有关详细信息,请转到cursor.skip()
  • 批大小:指定要在 MongoDB 实例的每个响应批次中返回的文档数。 大多数情况下,修改批大小不会影响用户或应用程序。 Azure Cosmos DB 限制每个批次不能超过 40MB(这是文档大小的“批次大小”数值之和),因此如果文档很大,请减小该值。 默认值为 100。
  • 其他列:添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。

目标

转到“目标”选项卡以配置复制活动目标。 有关详细配置,请参阅以下内容。

显示“目标”选项卡和属性列表的屏幕截图。

需要以下属性:

  • 连接:从连接列表中选择 Azure Cosmos DB for MongoDB 连接。 如果连接不存在,则通过选择连接列表底部的“更多”,创建新的 Azure Cosmos DB for MongoDB 连接。
  • 数据库:从下拉列表中选择数据库。
  • 集合名称:指定 Azure Cosmos DB 集合的名称。 可以从下拉列表中选择集合。

在“高级”下,可以指定以下字段:

  • 写入行为:介绍如何将数据写入 Azure Cosmos DB for MongoDB。 允许的值为 InsertUpsert

    Upsert 的行为是,如果已存在具有相同 _id 的文档,则替换该文档;否则将插入该文档。

    注意

    如果未在原始文档中指定 _id,或未通过列映射指定 _id,则服务会自动为文档生成 _id。 这表示必须先确保文档有 ID,才能让 Upsert 按预期工作。

  • 写入批次超时:指定超时前等待批插入操作完成的时间。允许的值为 timespan,默认值为 00:30:00(30 分钟)。

  • 写入批大小:此属性控制每批中要写入的文档的大小。 可尝试增大值以提高性能,并在文档大小较大时减小该值。 默认值为 10,000。

映射

对于“映射”选项卡配置,请参阅“映射”选项卡下的“配置映射”。如果源和目标均为分层数据,则映射不受支持。

设置

对于“设置”选项卡配置,请转到“设置”选项卡下的“配置其他设置”

表摘要

下表包含有关 Azure Cosmos DB for MongoDB 中复制活动的详细信息。

源信息

名称 描述 必选 JSON 脚本属性
Connection 与源数据存储的连接。 <你的 Azure Cosmos DB for MongoDB 连接> 连接
Database 用作源的数据库。 < 你的数据库 > database
集合名称 Azure Cosmos DB 集合的名称。 < 你的集合 > collection
Filter 使用查询运算符的选择筛选器。 若要返回集合中的所有文档,请省略此参数或传递空文档 ({})。 < 你的选择筛选器 > filter
游标方法 基础查询的执行方式。 project
sort
limit
skip
cursorMethods:
• project
• sort
• limit
• skip
批次大小 从 MongoDB 实例的每批响应中返回的文档数量。 大多数情况下,修改批大小不会影响用户或应用程序。 Azure Cosmos DB 限制每个批次不能超过 40MB(这是文档大小的“批次大小”数值之和),因此如果文档很大,请减小该值。 < 你的写入批大小 >
(默认值为 100)
batchSize
其他列 添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 • 姓名
• 值
additionalColumns:
• 名称
• 值

目标信息

名称 描述 必选 JSON 脚本属性
Connection 与目标数据存储的连接。 <你的 Azure Cosmos DB for MongoDB 连接> 连接
Database 用作目标的数据库。 < 你的数据库 > database
集合名称 Azure Cosmos DB 集合的名称。 < 你的集合 > collection
写入行为 介绍如何将数据写入 Azure Cosmos DB for MongoDB。 允许的值为 InsertUpsert

Upsert 的行为是,如果已存在具有相同 _id 的文档,则替换该文档;否则将插入该文档。

注意:如果未在原始文档中或未通过列映射指定 _id,则服务会自动为文档生成 _id。 这表示必须先确保文档有 ID,才能让 Upsert 按预期工作。
Insert(默认值)
更新插入
writeBehavior:
• 插入
• 更新插入
写入批处理超时 超时前等待批插入操作完成的时间。 timespan
(默认值为 00:30:00 - 30 分钟)
writeBatchTimeout
写入批大小 控制每批中要写入的文档的大小。 可尝试增大值以提高性能,并在文档大小较大时减小该值。 < 你的写入批大小 >
(默认值为 10,000
writeBatchSize