ADF中调用GetFileByServerRelativeUrl遇400 Bad Request错误求助
问题分析
你当前的相对URL错误混合了SharePoint文件的直接访问前缀(/:u:/r/)与REST API路径,导致请求格式不符合SharePoint API规范,触发400错误。
修复步骤
修正Base URL配置
确保工具(如Azure Data Factory)中配置的Base URL为SharePoint站点的API根路径,且结尾必须带/:https://xyz.sharepoint.com/sites/AWSreStack-01GlobalAWSreStack/_api/web/调整相对URL
移除多余的/:u:/r/sites/AWSreStack-01GlobalAWSreStack/前缀,仅保留API调用部分:GetFileByServerRelativeUrl('/sites/AWSreStack-01GlobalAWSreStack/Shared%20Documents/01%20Global%20AWS%20reStack/07%20Reporting/2024%2001%20AWS%20Pipeline%20Reporting/Data%20for%20PowerBI_Don%27t%20move%20or%20delete/AWS_Pipeline_Targets_For_Data_Pull%20.xlsx')/$value验证路径正确性
确认服务器相对路径与文件实际位置一致:
原文件的服务器相对路径是从站点根起始的完整路径:/sites/AWSreStack-01GlobalAWSreStack/Shared%20Documents/.../AWS_Pipeline_Targets_For_Data_Pull%20.xlsx,注意保留所有转义字符(如%20代表空格,%27代表单引号)。
额外检查
- 确保权限账号拥有该文件的读取权限
- 排查路径中是否存在多余空格或拼写错误(文件名末尾的空格已正确转义为
%20,无需修改)
内容的提问来源于stack exchange,提问作者Yatharth Kaushik
相关产品推荐
相关产品推荐

