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