【发布时间】:2017-03-29 08:55:23
【问题描述】:
我想从逻辑应用程序将 JSON 发送到 Azure ServiceBus,但我正在努力使用正确的格式(我认为)。逻辑应用从 SharePoint Online 列表项中获取信息,因此我可以在逻辑应用中将其作为动态内容进行访问。对于这篇文章,假设 JSON 模板如下所示:
{ Title: '', CreatedBy:'' }
现在在逻辑应用设计器中,我将内容类型设置为“text/plain”以确保处理编码(如here 所述),然后将上面的模板添加到“内容”字段。在 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:'' }'))}"
编辑:我忘了补充,我发现this article 建议在使用 JSON 和逻辑应用程序时添加 decodeBase64。不确定它是否相关,因为我没有从 ServiceBus 解析。
【问题讨论】:
标签: json azureservicebus azure-logic-apps