1

我正在使用逻辑应用向 Azure 上的服务总线发送消息。逻辑应用以触发器的 HTTP 请求开始,该触发器在正文中包含 JSON 有效负载。请求的“正文”设置为发送消息操作的内容。由于发布时有效负载是 JSON,我将 Content-Type 设置为 application/json。这会在发送消息操作上产生错误;

{"code":"InvalidTemplate","message":"无法处理动作 'Send_message.' 中的模板语言表达式。在“1”行和“1221”列输入:“模板语言函数“encodeBase64”期望其参数是字符串。提供的值是“对象”类型。请参阅https://aka.ms/logicexpressions# encodeBase64以获取使用详情。'。"}

所以尝试将 Content-Type 更改为 text/plain 并且它有效?这是一个错误还是应该在发送消息操作中使用它之前以某种方式将 JSON 转换为文本值?

4

1 回答 1

4

向服务总线发送消息需要对消息内容进行 base64 编码。由于您的内容是 JSON,因此您需要在编码之前明确对其进行字符串化,即使用@encodeBase64(string(jsonContent))

将内容类型更改为 text/plain 具有相同的效果,因为在这种情况下,内容被视为以字符串开头。

于 2016-07-15T19:53:16.997 回答