Data Factory REST API调用Dynamic Content构造异常导致流水线运行失败
问题排查及修复方案
错误产生原因
你构造的Dynamic Content存在3处语法错误,最终导致API请求参数格式非法,触发400 BadRequest错误:
formatDateTime日期处理函数被放在了单引号内部,会被识别为普通字符串而非可执行的表达式,无法正确生成14天前的日期参数- 字符串拼接的引号、参数分隔符存在语法错误:
formatDateTime内部的日期格式字符串用了单引号,和外层concat的字符串边界单引号冲突,且formatDateTime前后没有加逗号作为concat的参数分隔符,整个表达式语法非法 - URL参数分隔符错误使用了HTML实体编码
&,而非原生的&,导致API服务端无法正确识别后续的date、currency_type等参数
修复后的正确Dynamic Content
@concat('https://MyAPIUrl/api/daily/UK?key=',variables('SecurityToken'),'&date=',formatDateTime(addDays(utcnow(),-14),'yyyy-MM-dd'),'¤cy_type=GBP&use_website_rounding=FALSE')
验证建议
- 先单独执行
formatDateTime(addDays(utcnow(),-14),'yyyy-MM-dd')表达式,确认输出为符合YYYY-MM-DD格式的14天前日期 - 流水线运行时可先将拼接后的完整URL输出到日志,确认SecurityToken值、日期参数、参数分隔符均无格式错误
- 确认SecurityToken变量已在前置步骤完成赋值,不存在空值、过期等问题
内容的提问来源于stack exchange,提问作者Matt Owen
相关产品推荐
相关产品推荐

