Azure Data Factory调用SP后通过Logic App发送HTML邮件报错咨询
报错根因
该错误的核心是Web活动调用的目标端点(即你对接的Logic App HTTP触发端点)默认期望接收JSON格式的请求内容,但你传递的请求体开头为<字符(也就是存储过程输出的HTML内容直接裸传),无法完成JSON反序列化导致请求被拒绝。
报错详情:错误代码:2108,故障类型:用户配置问题,具体报错信息:{"error":{"code":"InvalidRequestContent","message":"The request content is not valid and could not be deserialized: 'Unexpected character encountered while parsing value: <. Path '', line 0, position 0.'."}}
修复方案
- 首先配置ADF Web活动的请求头,明确添加
Content-Type字段,值设为application/json,避免端点默认识别错误请求格式 - 对存储过程输出的HTML内容做JSON序列化封装,不要直接把HTML字符串作为请求体传递。ADF侧的请求体参考写法:
{ "email_html": @json(concat('"', replace(activity('调用存储过程的活动名称').output.firstRow.你的HTML输出字段名, '"', '\\"'), '"')) }
- 提前处理HTML内容中的JSON敏感字符:在存储过程生成HTML时,或者在ADF表达式中,对内容里的双引号、反斜杠做转义处理,避免破坏整体JSON结构
- 调试阶段可新增
Set Variable活动,把要传递的请求体内容先赋值给一个字符串类型变量,运行流水线后查看变量的实际输出值,确认是否为合法JSON格式,快速定位格式问题
临时规避方案
如果需要快速验证流程,可以临时修改Logic App的HTTP触发器配置,将请求接收格式调整为接受原始文本/HTML,跳过JSON反序列化校验,流程跑通后再优化格式规范。
内容的提问来源于stack exchange,提问作者Darshan Shah
相关产品推荐
相关产品推荐

