2015-10-15 78 views
0

我試圖創建一個Azure的邏輯應用寬泛地執行以下操作:如何在Azure Logic應用程序中轉換JSON?

  1. 使用HTTP調用REST服務,REST服務將返回JSON與IDS。這工作得很好,生成的JSON看起來有點像這樣:"workItems" : [ { "id": 118, }, { "id": 119, }, etc ]

  2. 我需要提取所有的Ids,並將它們放入逗號分隔的字符串中,例如, 118, 119, etc

  3. 逗號分隔的字符串將被用作另一個HTTP REST調用的一部分。

但是我在2點掙扎,我不能看到我可以寫一些腳本或代碼(不建立一個自定義應用程序邏輯組件)來完成這種轉變。

目前我已經嘗試使用BizTalk應用程序將JSON轉換爲XML,然後使用XPath,然後希望在某個時刻將它返回到字符串 - 但整個過程似乎過於複雜。

我意識到我可以編寫一個自定義應用程序,但是如果我這樣做了,那麼我也可以只做自定義應用程序中的所有工作。儘可能使用Azure的本地特性很好。

恐怕我可能會失去一些明顯的東西。建議將不勝感激。

回答

0

WebJobs Webhooks現已棄用。使用Azure功能通用Webhooks - 他們可以直接與Logic Apps集成。

一種選擇是使用 WebJob Webhook並在那裏進行轉換/過濾。我有一個例子 on GitHub使用它來過濾到Slack的帖子。如果您已經啓動並運行了Web/Mobile/API應用程序,則很容易在其上託管WebJob,因此您不需要額外的資源。

您的其他選項,您突出顯示。部署一個將爲您執行xform的API應用程序。

如果您想要走下WebJob路線並需要任何幫助,請告訴我,我很樂意提供幫助。

+0

感謝您的建議和優惠。但是,除非我錯過了一些東西,否則寫下某種額外的應用程序 - 而不是在現有的邏輯應用程序中添加內容。 –

+0

這是簡短的版本:)。我們正在考慮讓Logic App + WebJob成爲透明的體驗。所以你基本上是想在Logic App設計器中編寫一些代碼,並讓它做基本的JSON轉換/過濾? –

+0

這是希望,如果這樣的事情是可能的,我不知道。也許不一定是代碼,但是可以通過某種方式輕鬆地轉換數據(用於下游流程)。儘管「開箱即用」的邏輯應用程序允許我輕鬆地將各種東西連接在一起,但如果這些東西使用不同的語言,它們似乎無法幫助您。這可能僅僅是邏輯應用程序的功能中吸取的教訓。 –

2

嘗試CsScripting Api.它使您可以執行一些簡單的C#代碼,並具有可用的NewtonSoft庫。我通常先將代碼編寫爲控制檯應用程序,然後再將其插入邏輯應用程序操作。

相關問題