簡體   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