繁体   English   中英

Azure Logic应用将JSON消息发送到ServiceBus

[英]Azure Logic Apps send JSON Message to ServiceBus

我想从Logic App将JSON发送到Azure ServiceBus,但是我在为正确的格式而苦苦挣扎(我认为)。 Logic App从SharePoint Online列表项获取信息,因此我可以在Logic App中将其作为动态内容进行访问。 对于本文,假设JSON模板如下所示:

{ Title: '', CreatedBy:'' }

现在在逻辑应用设计师,我将内容类型设置为“文本/纯”,以确保编码的处理(如所描述的在这里 )中,然后加入到上面的“内容”字段中的模板。 在Logic App设计器(代码视图)中看起来像这样,这是我期望的:

"ContentData": "@{base64('{ Title: '', CreatedBy:'' }')}"

如果回到设计器,然后在“标题”的单引号之间,添加动态内容中的字段,则设计器(代码视图)如下所示:

"ContentData": "@{base64(concat('{ Title: '',triggerBody()?['Title'],'', CreatedBy:'' }'))}"

当我尝试保存时,出现以下错误:

保存逻辑应用程序MyLogicApp失败。 模板验证失败:“在行'1'和列'163728'处的模板动作'Send_message'无效:“无法解析模板语言表达式'base64(concat('{Title:'',triggerBody()?? 'Title'],'',CreatedBy:''}'))':预期令牌'RightParenthesis'和实际的'Identifier'。“。'。

我觉得该错误告诉我问题所在,但我无法完全解决。 有人可以帮我正确的格式吗?

从我上面链接的文章中,我也尝试了此操作,但遇到了相同的错误:

"ContentData": "@{base64(concat('{ Title: '', string(triggerBody()?['Title']),'', CreatedBy:'' }'))}"

编辑:我忘了补充,我发现这篇文章建议在使用JSON和Logic Apps时添加解码基数64。 不过不确定,因为我不是从ServiceBus解析它是否相关。

设法通过一些反复试验找到了解决方案。 如果我的狡猾格式错误,那么请更新我的解决方法,以希望其他人觉得这有用。

逻辑应用程序代码视图应如下所示:

"ContentData": "@{base64('{ Title: {triggers().outputs.body.Title}, CreatedBy: {triggers().outputs.body.CreatedBy} }')}"

Logic App设计器视图的Content字段应如下所示:

{ Title: {triggers().outputs.body.Title}, CreatedBy: {triggers().outputs.body.CreatedBy} }

我很想发布一些引用或支持的文章,但到目前为止我还没有找到任何文章-如果有人有任何有用的资源通过Logic Apps向Service Bus发送消息以将其添加到这篇文章中,我们将不胜感激。 谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM