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

ADF摄取Dataverse至ADLS Gen2的类型映射与Choice列缺失咨询

核心结论

ADF原生Dataverse(Common Data Service)连接器并非不支持全量Dataverse列类型,你遇到的Choice列缺失问题是默认配置限制导致的:Choice(选项集)类型默认不会被自动纳入复制字段列表,调整配置即可解决。

问题根因
  • Dataverse的Choice列底层存储为整数枚举值,对应的显示文本存储在独立的选项集元数据表中,不属于实体表的原生存储字段
  • ADF复制活动默认拉取实体schema时,不会自动关联拉取Choice列的元数据,也不会自动开启选项集解析,未被识别到schema中的列会被直接排除在复制流程外,最终不会写入ADLS Gen2
修复方案(按落地优先级排序)

方案1:开启连接器原生选项集解析(推荐,零额外开发)

这是最简便的官方支持方案,操作步骤如下:

  • 进入对应复制活动的「源」配置页,选中已创建的Dataverse源数据集
  • 展开「高级」配置分组,找到解析选项集值开关,手动开启
  • 切换到源数据集的「架构」 tab,点击「导入架构」重新拉取全量字段,此时所有Choice列会被自动识别,同时生成两个字段:<原列名>存储原始整数枚举值、<原列名>@label存储对应的选项显示文本
  • 进入复制活动的「映射」 tab,确认需要的Choice列已被勾选,重新运行管道即可正常写入ADLS Gen2

注意:该方案支持普通单选Choice、全局选项集,暂不支持关联多态查找的虚拟Choice列,这类字段可使用后续方案处理

方案2:自定义FetchXML查询拉取字段(适配复杂Choice场景)

如果开启选项集解析后仍有部分Choice列缺失(比如多选Choice列、自定义虚拟Choice列),可以将源配置的查询模式改为FetchXML,显式声明需要拉取的Choice字段:
示例FetchXML结构参考:

<fetch>
  <entity name="目标实体逻辑名">
    <attribute name="实体主键列名" />
    <attribute name="普通业务列1" />
    <attribute name="普通业务列2" />
    <!-- 显式声明单选Choice列 -->
    <attribute name="单选Choice列名" />
    <!-- 显式声明多选Choice列,需加对应类型声明 -->
    <attribute name="多选Choice列名" d2:type="MultiSelectPicklist" xmlns:d2="http://schemas.microsoft.com/xrm/2011/Contracts" />
  </entity>
</fetch>

查询编写完成后重新导入schema,手动补全字段映射即可正常复制。

方案3:用Dataverse原生导出功能做中转(适配所有特殊列类型)

如果上述两个方案都无法覆盖你的场景(比如存在大量特殊虚拟Choice列、需要同步选项集变更的实时映射),可以走官方原生导出链路:

  • 进入Power Platform管理中心,为目标实体开启「导出到Data Lake」功能,配置同租户下的ADLS Gen2作为存储目标
  • Dataverse原生导出服务会自动同步实体全量字段(包含所有类型的Choice、查找、计算列),同时自动生成独立的选项集元数据映射文件
  • 后续直接用ADF读取ADLS Gen2中已经落盘的实体数据即可,不需要再直连Dataverse拉取,稳定性更高
Dataverse连接器列支持范围说明

目前ADF Dataverse连接器支持所有业务场景常用的Dataverse列类型,仅以下系统内部列无法正常复制:

  • 平台加密的系统内部字段
  • 绑定自定义接口的虚拟计算列
  • 当前连接服务主体/账号无读取权限的受保护列
    普通单选、多选Choice列均在官方支持范围内,仅需正确配置即可正常导出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:51:13