使用Synapse复制活动HTTP链接服务从SharePoint取数的表达式报错排查
问题排查与修正方案
核心问题分析
你的表达式存在两个关键错误:
- 单引号嵌套未转义:Azure Data Factory/Synapse的表达式中,字符串内部的单引号必须用双单引号(
'')转义,否则会导致语法解析失败。 - API路径重复冗余:原URL仅调用一次
GetFileByServerRelativeUrl,但你的表达式重复写入了三次该API路径,导致最终生成的URL结构完全错误。
修正后的表达式
根据原URL的结构,修正后的表达式如下:
@concat('https://sharepoint.com/teams/Data/Share/Planning/_api/web/GetFileByServerRelativeUrl(''/teams/Data/Share/Planning/Shared%20Documents/05_master/502_outlet_list/',formatDateTime(addHours(utcNow(),9),'yyyy'),'/',formatDateTime(addHours(utcNow(),9),'yyyy'),'_monthly_master/outlet_info_',formatDateTime(addHours(utcNow(),9),'yyyyMMdd'),'_Outlet List _.xlsx'')/$value')
修正点说明
- 将表达式内部所有嵌套的单引号
'替换为双单引号'',确保语法解析正确。 - 删除了重复的
/teams/Data/Share/Planning/_api/web/GetFileByServerRelativeUrl(片段,恢复原URL的正确API调用结构。 - 保留了你原本的日期逻辑(UTC+9时区的年、年月日格式),确保生成的路径与原URL结构一致。
内容的提问来源于stack exchange,提问作者user19504539
相关产品推荐
相关产品推荐

