使用Azure Data Factory拉取Business Central数据时上下文URL无效
解决方案
修正链接服务基础URL配置
确保ADF OData链接服务的基础URL仅设置为https://api.businesscentral.dynamics.com/v2.0/{Tenant ID}/Sandkassen/ODataV4/,不要包含$metadata、公司或实体路径。ADF会自动拼接后续上下文URL,手动添加前缀会导致路径解析冲突。确认服务主体权限覆盖实体
检查Business Central中服务主体的权限:需授予Dynamics 365 Business Central的Read权限,且权限作用域明确包含目标公司(CRONUS Danmark A/S)及所有需要访问的实体。调整实体路径的编码方式
在ADF数据集的实体路径中直接使用未编码的公司名称,例如填写Company('CRONUS Danmark A/S')/Items,无需手动用%20转义空格。ADF会自动处理URL编码,手动转义易引发解析错误。改用查询选项指定实体
如果直接设置实体路径报错,可在数据集的查询选项中自定义请求,示例:$from=Company('CRONUS Danmark A/S')/Items&$select=*或者在复制活动源中使用自定义查询语句拉取数据。
升级OData连接器版本
切换ADF OData链接服务的连接器版本至最新版,旧版本可能存在与Business Central OData V4的兼容性问题。替换为HTTP连接器(备选方案)
若上述方法无效,可改用ADF的HTTP连接器:- 基础URL设置为
https://api.businesscentral.dynamics.com/v2.0/{Tenant ID}/Sandkassen/ODataV4/ - 在请求头中添加服务主体的认证信息(Bearer token)
- 构造请求路径为
Company('CRONUS Danmark A/S')/Items,并启用自动URL编码 - 配置响应格式为OData JSON,手动解析数据结构
- 基础URL设置为
内容的提问来源于stack exchange,提问作者Motan127 s
相关产品推荐
相关产品推荐

