我有一个带有队列触发器的Azure Logic应用程序。队列消息是JSON。当我发送"消息文本"到Azure功能,我得
UnsupportedMediaType
{
"Message": "The WebHook request must contain an entity body formatted as JSON."
}
我认为这会直接起作用。我尝试将请求正文设置为
@{json(<Message text>)}
选择动态内容项在哪里,但我收到红色消息&#34;输入有效的json&#34;。
进行此连接的诀窍是什么?我是否必须传入然后解析&#34;消息文本&#34;在我的功能?再一次,我认为它会自动完成。
答案 0 :(得分:1)
@{}
语法表示字符串插值。这意味着您的表达式@{json(<Message text>)}
将消息文本反序列化为json,然后再将其序列化。
因此,您要使用的表达式是
@json(<Message text>)
答案 1 :(得分:0)
为未来的读者。
我将一些(看似有效的)json传递给了我的webhook。
并不断获得
&#34;消息&#34;:&#34; WebHook请求必须包含格式为JSON的实体主体。&#34;
错误。
:(
最后,我找到了一个json&#34;表达式&#34;做了它的伏都教并摆脱了错误。我从json-expression的参数是我之前的动作输出,这是有效的json。它显然只需要一点帮助!
原始(非设计者)代码是:
"GenericWebHookCsharpOne": {
"type": "Function",
"inputs": {
"body": "@json( body('MyPreviousAppLogicActionWhichIsAnAzureFunction'))",
"method": "POST",
"function": {
"id": "/xxxxxxxxxxxxxxxxxxxxxxxx
}