我正在嘗試使用 Logic Apps 來完成我過去使用 Pentaho 所做的事情。我想構建一個帶有重複觸發器的邏輯應用程序,它啟動一個 HTTP 步驟以發佈到 Web 服務並接收 XML 回复。我想解析該 XML 回复(已知格式)並將結果存儲在 Azure SQL Server 數據庫中。
我已經成功測試了 HTTP 步驟並收到了回复 XML。我在 SQL 數據庫中完成了目標表。我不知道如何使用 Logic Apps 將 XML 回复解析為類似 CSV 格式的內容,我可以將其傳遞給 SQL 查詢以輸入新的表行。
我已經瀏覽了幾個教程和其他主題,但這些步驟要么假設我擁有比我擁有的更高水平的經驗,要么是邏輯應用程序的非常基本的介紹。
我認為聽到以下內容會有所幫助:
這是否比我預期的更具挑戰性?我擅長 SQL、Pentaho、R 和其他工具,但對 HTTP 調用/響應有點陌生,並且幾乎沒有 XML 經驗。
我應該考慮哪些 Logic Flow 連接器,它們是免費產品的一部分,還是一些付費套餐?
在此先感謝您對入門的任何幫助。
如果在解析後也將 XML 轉換為 JSON 對象,它會簡單得多。這兩者都可以通過使用xml
和json
函數來完成。
此外,由於您知道 XML 的格式,您將知道轉換後的 JSON 的格式,以及讓您使用該Parse JSON
操作獲取簡單令牌以在邏輯應用程序的其餘部分中使用。
然後您可以直接在 SQL 查詢中使用這些標記。
這是一個展示案例的邏輯應用程序(沒有 SQL 和 HTTP 步驟)
並且它的定義要明確
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"CSV_Data": {
"inputs": {
"variables": [
{
"name": "random_data_csv",
"type": "String",
"value": "@{body('Parse_JSON')?['data']?['name']},@{body('Parse_JSON')?['data']?['awesome']}"
}
]
},
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Parse_JSON": {
"inputs": {
"content": "@json(xml(variables('random_data_xml')))",
"schema": {
"properties": {
"data": {
"properties": {
"awesome": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"runAfter": {
"XML_Data": [
"Succeeded"
]
},
"type": "ParseJson"
},
"XML_Data": {
"inputs": {
"variables": [
{
"name": "random_data_xml",
"type": "String",
"value": "<data>\n<name>Azure Logic Apps</name>\n<awesome>true</awesome>\n</data>"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句