如何在Data Factory外部调用转换中添加Broker Properties头部
解决Data Factory外部调用Service Bus时SessionId的头部配置问题
正确配置方式
你需要将BrokerProperties作为独立的请求头名称,其值为符合JSON规范的字符串,具体配置如下:
- 头部名称:
BrokerProperties - 头部值:使用Data Factory表达式生成合法的JSON结构:
该表达式会生成类似concat('{"SessionId": "', toString(NAITNumber), '"}'){"SessionId": "116"}的字符串,完全匹配Service Bus对BrokerProperties的格式要求。
错误原因分析
第一次尝试的问题:
你将部分JSON结构混入了头部名称,且值部分未给SessionId字段和对应值添加双引号,导致生成的{SessionId: 116}不是合法JSON,Service Bus无法解析,因此返回无效值错误。第二次尝试的问题:
你给头部名称BrokerProperties添加了双引号,还将部分JSON内容写入名称中,违反了HTTP请求头名称的规范(头部名称不能包含引号等特殊字符),因此触发了无效头部名称的400错误。
额外注意事项
- SessionId在Service Bus中要求为字符串类型,因此即使
NAITNumber是数字列,也必须用toString()转换后包裹双引号,确保格式合规。 - 验证生成的头部值是否为严格的JSON格式,避免出现引号遗漏、括号不匹配等语法错误。
内容的提问来源于stack exchange,提问作者blobbles
相关产品推荐
相关产品推荐

