本文概述了如何使用管道中的复制活动从/向 Azure Cosmos DB for NoSQL 复制数据。
支持的配置
有关复制活动下每个选项卡的配置,请分别转到以下部分。
概况
请参阅 常规 设置 指南,以配置 常规 设置选项卡。
来源
复制活动的 “源 ”选项卡下的 Azure Cosmos DB for NoSQL 支持以下属性。
需要以下三个属性:
- 连接:从连接列表中选择 Azure Cosmos DB for NoSQL 连接。 如果不存在连接,则通过选择“ 新建”创建新的 Azure Cosmos DB for NoSQL 连接。
- 容器:选择要使用的容器。 选择 “编辑” 以手动输入容器名称。
在“高级”下,可以指定以下字段:
使用查询:可以选择“表”或“查询”作为使用查询。 下表介绍了每个设置的配置。
表:从 表中指定的表读取数据。
查询:指定要读取数据的 Azure Cosmos DB 查询。
页面大小:查询结果的每页文档数。 默认值为“-1”,这意味着使用服务端动态页面大小高达 1000。
检测日期时间:是否检测文档中字符串值的日期时间。 允许的值为:true(默认值)、false。
首选区域:从 Azure Cosmos DB 检索数据时要连接到的区域的首选列表。 选择“ 新建”后,从下拉列表中选择一个首选区域。
其他列:添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 有关详细信息,请转到 在复制过程中添加其他列。
目的地
复制活动的 “目标 ”选项卡下的 Azure Cosmos DB for NoSQL 支持以下属性。
需要以下三个属性:
- 连接:从连接列表中选择 Azure Cosmos DB for NoSQL 连接。
- 容器:选择 “浏览 ”以选择要复制的文件,或手动填写路径。
在“高级”下,可以指定以下字段:
写入行为:当目标是基于文件的数据存储中的文件时,定义写入行为。 可以从下拉列表中选择 “添加动态内容”、“ 插入”或 “Upsert ”。
添加动态内容:打开 “添加动态内容 ”窗格。 这将打开表达式生成器,可以从受支持的系统变量、活动输出、函数和用户指定的变量或参数生成表达式。 有关表达式语言的信息,请转到 表达式和函数。
插入:如果源数据已插入,请选择此选项。
Upsert 的行为是,如果已存在具有相同 ID 的文档,则替换该文档;否则插入文档。
写入批处理超时:等待批处理插入操作完成的时间,超时之前允许的值为
Timespan. 示例为 00:30:00(30 分钟)。写入批大小:指定要插入到每个批的 SQL 表中的行数。 允许的值是整数(行数)。 默认情况下,该服务根据行大小动态确定适当的批大小。
最大并发连接:活动运行期间与数据存储建立的并发连接上限。 仅当想要限制并发连接时,才指定一个值。
禁用性能指标分析:此设置控制指标的收集,例如 DTU、DWU、RU 等,用于复制性能优化和建议。 如果担心此行为,请关闭此功能。
映射
对于映射选项卡的配置,请到映射选项卡下配置你的映射。
设置
对于 “设置 ”选项卡配置,请转到 “设置”选项卡下的“配置其他设置”。
表摘要
下表包含有关 Azure Cosmos DB for NoSQL 中的复制活动的详细信息。
源表
| Name | Description | 价值 | 必选 | JSON 脚本属性 |
|---|---|---|---|---|
| 连接 | 与源数据存储的连接。 | <连接> | 是的 | 连接 |
| 容器 | 源数据的容器。 | <你的源的容器> | 是的 | 容器 fileName |
| 使用查询 | 可以选择 “表 ”或 “查询” 作为使用查询。 | • 表 • 查询 |
否 | 类型 |
| 页面大小 | 查询结果的每页文档数。 默认值为“-1”,这意味着使用服务端动态页面大小高达 1000。 | <页面大小> | 否 | pageSize |
| 删除日期/时间 | 将源数据存储上的文件移动到目标存储后,将立即删除。 文件删除是按文件删除的,因此当复制活动失败时,你会注意到,某些文件已复制到目标并已从源中删除,而其他文件仍在源存储中。 | 选择或取消选择 | 否 | detectDatetime |
| 首选区域 | 从 Azure Cosmos DB 检索数据时要连接到的区域的首选列表。 选择“ 新建”后,从下拉列表中选择一个首选区域。 | <首选区域> | 否 | preferredRegions |
| 其他列 | 添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 有关详细信息,请转到 在复制过程中添加其他列。 | <最大并发连接数> | 否 | additionalColumns |
目标表
| Name | Description | 价值 | 必选 | JSON 脚本属性 |
|---|---|---|---|---|
| 连接 | 与目标数据存储的连接。 | <连接> | 是的 | 连接 |
| 容器 | 目的地数据的容器。 | <源容器> | 是的 | 容器 fileName |
| 写入行为 | 描述如何将数据写入 Azure Cosmos DB。 允许的值:插入和更新插入。 如果具有相同 ID 的文档已存在,upsert 的行为是替换该文档;否则,插入新文档。 | • 添加动态内容 • 插入 • Upsert |
否 | writeBehavior |
| 写入批处理超时 | 等待批量插入作业在超时之前完成。允许的值为“Timespan”。 示例为 00:30:00(30 分钟)。 | timespan | 否 | writeBatchTimeout |
| 写入批大小 | 每次批处理中要插入到 SQL 表中的行数。 允许的值为整数(行数)。 默认情况下,该服务根据行大小动态确定适当的批大小。 |
<行数 > (整数) |
否 | writeBatchSize (写入批量大小) |
| 最大并发连接数 | 活动运行期间与数据存储建立的并发连接的上限。 仅当想要限制并发连接时,才指定一个值。 | <最大并发连接数> | 否 | maxConcurrentConnections |
| 禁用性能指标分析 | 此设置控制 DTU、DWU、RU 等指标的集合,以便进行复制性能优化和建议。 如果担心此行为,请关闭此功能。 | 选择或取消选择 | 否 | disableMetricsCollection |