如何在复制活动中配置 Dynamics CRM
本文概述了如何使用数据管道中的复制活动从/向 Dynamics CRM 复制数据。
先决条件
若要将此连接器与 Entra ID 服务主体身份验证配合使用,必须在 Dynamics CRM 中设置服务器到服务器 (S2S) 身份验证。 先在 Microsoft Entra 中注册应用程序用户(服务主体)。 有关详细信息,请参阅创建可访问资源的 Microsoft Entra 应用程序和服务主体。
在应用程序注册期间,需在 Dynamics CRM 中创建该用户并授予权限。 可以直接授予这些权限,也可以通过将应用程序用户添加到已在 Dynamics CRM 中为其授予了这些权限的团队来间接授权。 有关如何将应用程序用户设置为使用 Dynamics CRM 进行身份验证的更多信息,请参阅使用单租户服务器到服务器身份验证。
支持的配置
有关复制活动下每个选项卡的配置,请分别转到以下各部分。
常规
对于“常规”选项卡配置,请转到“常规设置”。
Source
转到“源”选项卡以配置复制活动源。 有关详细配置,请参阅以下内容。
需要以下属性:
- 数据存储类型:选择“外部”。
- 连接:从连接列表中选择现有的 Dynamics CRM 连接。 如果不存在连接,则请选择“新建”来创建新的 Dynamics CRM 连接。
- 连接类型:选择 Dynamics CRM。
- 使用查询:指定用于读取数据的方式。 可以选择“实体名称”以使用实体名称读取数据,也可以选择“查询”以使用查询来读取数据。
实体名称:从下拉列表中选择实体名称,或选择“编辑”以手动输入。 它是要检索的实体的逻辑名称。
查询:使用 FetchXML 从 Dynamics CRM 读取数据。 FetchXML 是在联机和本地 Dynamics 中使用的专属查询语言。 请参阅以下示例。 若要了解详细信息,请参阅使用 FetchXML 生成查询。
示例 FetchXML 查询:
<fetch> <entity name="account"> <attribute name="accountid" /> <attribute name="name" /> <attribute name="marketingonly" /> <attribute name="modifiedon" /> <order attribute="modifiedon" descending="false" /> <filter type="and"> <condition attribute ="modifiedon" operator="between"> <value>2017-03-10 18:40:00z</value> <value>2017-03-12 20:40:00z</value> </condition> </filter> </entity> </fetch>
在“高级”下,可以指定以下字段:
- 其他列:添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。
目标
转到“目标”选项卡以配置复制活动目标。 有关详细配置,请参阅以下内容。
需要以下属性:
- 数据存储类型:选择“外部”。
- 连接:从连接列表中选择现有的 Dynamics CRM 连接。 如果不存在连接,则请选择“新建”来创建新的 Dynamics CRM 连接。
- 连接类型:选择 Dynamics CRM。
- 实体名称:指定要写入数据的实体的名称。 从下拉列表中选择实体名称,或选择“编辑”以手动输入。 这是要检索的实体的逻辑名称。
在“高级”下,可以指定以下字段:
- 写入操作:操作的写入行为。 此属性是必需的,并且必须选择“Upsert”。 如果使用“添加动态内容”,请将值指定为 Upsert。
- 备用密钥名称:指定在实体上定义的、用于更新插入记录的备用密钥名称。
- 忽略 null 值:指示是否在写入操作期间忽略输入数据中的 null 值。 默认情况下,它处于未选中状态。
- 选中时:进行更新插入/更新操作时,使目标对象中的数据保持不变,并在执行插入操作时插入定义的默认值。
- 未选中时:执行更新插入/更新操作时,将目标对象中的数据更新为 NULL,并在执行插入操作时插入 NULL 值。
- 写入批大小:指定每批中写入 Dynamics CRM 的数据的行数。
- 最大并发连接:活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。
映射
对于“映射 ”选项卡配置,请转到“映射”选项卡下的“配置映射”。
设置
对于“设置”选项卡配置,请转到“设置”选项卡下的“配置其他设置”。
表摘要
有关 Dynamics CRM 复制活动的摘要和更多信息,请参阅下表。
源信息
名称 | 描述 | 值 | 必选 | JSON 脚本属性 |
---|---|---|---|---|
数据存储类型 | 你的数据存储类型。 | 外部 | 是 | / |
Connection | 与源数据存储的连接。 | < Dynamics CRM 连接 > | 是 | 连接 |
连接类型 | 你的连接类型。 | Dynamics CRM | 是 | 类型(在 typeProperties ->source ->datasetSettings 下):DynamicsCrmEntity |
使用查询 | 从 Dynamics CRM 读取数据的方式 | * 表 * 查询 |
是 | / |
实体名称 | 要检索的实体的逻辑名称。 | < 你的实体名称 > | 是 | entityName |
查询 | 使用 FetchXML 从 Dynamics CRM 读取数据。 FetchXML 是在联机和本地 Dynamics 中使用的专属查询语言。 若要了解详细信息,请参阅使用 FetchXML 生成查询。 | < 你的查询 > | 是 | 查询 |
其他列 | 添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 | * 名称 * 值 |
否 | additionalColumns: * 名称 * 值 |
目标信息
名称 | 描述 | 值 | 必选 | JSON 脚本属性 |
---|---|---|---|---|
数据存储类型 | 你的数据存储类型。 | 外部 | 是 | / |
Connection | 与目标 Dynamics CRM 的连接。 | < 你的连接 > | 是 | 连接 |
连接类型 | 你的连接类型。 | Dynamics CRM | 是 | 类型(在 typeProperties ->sink ->datasetSettings 下):DynamicsCrmEntity |
实体名称 | 要检索的实体的逻辑名称。 | < 你的实体 > | 是 | entityName |
写入行为 | 操作的写入行为。 值必须是 Upsert。 | Upsert | 是 | writeBehavior: upsert |
备用密钥名称 | 在实体上定义的、用于更新插入记录的备用密钥名称。 | < 备用密钥名称 > | 否 | alternateKeyName |
忽略 null 值 | 指示是否忽略 null 值从输入数据期间写入操作。 - 选中 (true):进行更新插入/更新操作时,使目标对象中的数据保持不变,并在执行插入操作时插入定义的默认值。 - 未选中 (false):执行更新插入/更新操作时,将目标对象中的数据更新为 NULL,并在执行插入操作时插入 NULL 值。 |
选中或未选中(默认) | 否 | ignoreNullValues: true 或 false(默认) |
写入批大小 | 每批中写入到 Dynamics CRM 的数据行计数。 | < 你的写入批大小 > 默认值为 10 |
否 | writeBatchSize |
最大并发连接数 | 活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。 | < 最大并发连接数 > | 否 | maxConcurrentConnections |