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

使用Azure Data Factory通过FetchXML提取Dynamics 365数据遇问题

解决Azure Data Factory中FetchXML查询Dynamics 365数据的异常问题

针对campaignactivity实体仅返回主键的问题

  • 核对属性逻辑名称:Dynamics 365的FetchXML必须使用字段的逻辑名称而非显示名称,哪怕显示名称和逻辑名看起来一致,也要确认拼写(比如actualstart是正确逻辑名,注意全小写)。
  • 修正FetchXML结构:必须显式指定要查询的属性,不能只声明实体。正确示例:
    <fetch>
      <entity name="campaignactivity">
        <attribute name="campaignactivityid" />
        <attribute name="actualstart" />
        <attribute name="name" />
      </entity>
    </fetch>
    
  • 检查字段权限:如果ADF使用的服务账号没有campaignactivity实体非主键字段的读取权限,FetchXML会自动过滤无权限字段,仅返回主键。需要在Dynamics后台确认该账号的安全角色配置。

其他实体返回列数少于默认情况的问题

  • 默认行为差异:ADF不使用FetchXML时,会自动查询实体的所有可用属性(含系统和自定义字段);而FetchXML仅返回你显式指定的属性。如果要匹配默认返回的列数,可使用<all-attributes />标签替代逐个指定属性:
    <fetch>
      <entity name="account">
        <all-attributes />
      </entity>
    </fetch>
    
  • 注意关联数据限制:<all-attributes />仅返回当前实体的属性,若需要关联实体的数据,仍需手动添加链接和对应属性。

额外排查步骤

  • 在Dynamics 365的Advanced Find中测试FetchXML:把你的查询语句复制到Advanced Find里执行,若结果同样异常,说明问题出在FetchXML本身或权限配置,与ADF无关。
  • 验证ADF链接服务的权限:如果用OAuth认证,确保令牌拥有足够的实体字段访问权限;如果用服务账号,确认账号在Dynamics中的角色权限覆盖所需字段。

内容的提问来源于stack exchange,提问作者Timothy Shen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:52:03