PublishToAzureServiceBus@1任务消息体被添加序列化前缀问题咨询
解决Azure Service Bus消息体自动添加序列化前缀的问题
问题原因
出现的@string3http://schemas.microsoft.com/2003/10/Serialization/前缀是WCF数据契约序列化的标识,说明PublishToAzureServiceBus@1任务默认使用了DataContractSerializer对消息体进行序列化,而非直接发送原始JSON内容。
解决方案
在任务配置中添加messageBodyType: 'Raw'参数,指定以原始文本格式发送消息体,避免自动序列化:
- task: PublishToAzureServiceBus@1 inputs: azureSubscription: 'ACCServiceBusVersioning' messageBody: | { "version": "string", "state": 0, "supportEndDate": "2023-01-18T15:27:35.865Z" } messageBodyType: 'Raw' # 添加此参数指定原始格式 signPayload: false waitForCompletion: false
补充说明
- 确保
messageBody中的JSON格式正确,移除末尾多余的逗号(原配置中supportEndDate行后的逗号可能导致JSON解析问题)。 Raw类型会直接将输入的文本作为消息体发送,不会进行任何序列化处理,符合仅发送指定消息体的需求。
内容的提问来源于stack exchange,提问作者Jonas Van mullem
相关产品推荐
相关产品推荐

