如何在ADF中为Common Data Service添加指定请求头以获取格式化值
在Azure Data Factory中为Common Data Service连接器添加自定义请求头
别担心,这个需求其实用ADF自带的配置就能搞定,我之前帮同事做过一模一样的场景,给你一步步梳理:
方法1:直接在CDS复制活动源中添加请求头
这是最直接的方式,不需要额外活动:
- 打开你的ADF管道,找到使用Common Data Service连接器作为数据源的复制活动,切换到「源」选项卡。
- 滚动到页面底部的高级区域,找到「附加属性(Additional Properties)」选项,点击「添加」按钮。
- 依次添加三个请求头,注意键和值要完全匹配:
- 键:
OData-MaxVersion,值:4.0 - 键:
OData-Version,值:4.0 - 键:
Prefer,值:odata.include-annotations=*
- 键:
- 保存管道配置,运行测试即可。此时抽取的数据会包含选项集的格式化显示值(和你用Web API调用得到的结果一致)。
备选方法:使用OData连接器替代(更灵活的OData场景)
如果你的场景需要更复杂的OData查询,或者后续要扩展更多自定义头,可以考虑用OData连接器对接CDS:
- 创建一个OData链接服务,认证方式选择「OAuth2.0」,配置CDS的Web API端点(格式类似
https://your-org-name.crm.dynamics.com/api/data/v9.2/),完成身份验证。 - 在复制活动的源中选择这个OData链接服务,指定要抽取的实体集(比如
accounts)。 - 同样在「高级」设置里找到「附加属性」,添加上述三个请求头。
- 这种方式和CDS连接器效果一致,但能支持更多OData原生查询参数,适合复杂场景。
注意事项
- 确保你的ADF认证账号(服务主体或用户账号)拥有CDS实体的读取权限,否则即使头配置正确也拿不到数据。
- 测试时可以先抽取少量数据验证,确认选项集的格式化值是否已包含在结果中。
内容的提问来源于stack exchange,提问作者sameet90
相关产品推荐
相关产品推荐

