邏輯應用程序 - 從 Web 服務讀取 XML 響應並將解析的數據存儲在數據庫中

阿達達達

我正在嘗試使用 Logic Apps 來完成我過去使用 Pentaho 所做的事情。我想構建一個帶有重複觸發器的邏輯應用程序,它啟動一個 HTTP 步驟以發佈到 Web 服務並接收 XML 回复。我想解析該 XML 回复(已知格式)並將結果存儲在 Azure SQL Server 數據庫中。

我已經成功測試了 HTTP 步驟並收到了回复 XML。我在 SQL 數據庫中完成了目標表。我不知道如何使用 Logic Apps 將 XML 回复解析為類似 CSV 格式的內容,我可以將其傳遞給 SQL 查詢以輸入新的表行。

我已經瀏覽了幾個教程和其他主題,但這些步驟要么假設我擁有比我擁有的更高水平的經驗,要么是邏輯應用程序的非常基本的介紹。

我認為聽到以下內容會有所幫助:

  1. 這是否比我預期的更具挑戰性?我擅長 SQL、Pentaho、R 和其他工具,但對 HTTP 調用/響應有點陌生,並且幾乎沒有 XML 經驗。

  2. 我應該考慮哪些 Logic Flow 連接器,它們是免費產品的一部分,還是一些付費套餐?

在此先感謝您對入門的任何幫助。

PramodValavala-MSFT

如果在解析後也將 XML 轉換為 JSON 對象,它會簡單得多。這兩者都可以通過使用xmljson函數來完成

此外,由於您知道 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

將 Meteor Cordova 構建的應用程序連接到本地服務器和數據庫

將數據作為響應從 nodejs 服務器發送到 html 頁面,以便以表格格式顯示

無法將數據從反應發送到快遞服務器

用 Python 從 GUI 表中讀取數據

幫助使用 Excel VBA 從在線 Web 服務解析 XML

無法從 Web 服務在數據庫中創建用戶和更新用戶

如何從 json 響應中獲取數據中的值?

從firebase獲取數據工作,但沒有顯示在反應應用程序中

如何使用邏輯應用從 Shopify 獲得單筆付款?

將數據存儲在 Firebase 中以優化讀取和用於統計

應用程序退出時,如何使用協程將數據保存到 Web 服務器

從 Express 服務器獲取數據到 React Native 應用程序的問題

從 Web 鏈接獲取數據 XML 文件並顯示在 SQL Server 表上

從 Azure 應用服務(Web 應用)訪問 Azure 容器實例

從 Go/Golang 服務器解析數據以意外的 JSON 格式響應獲取數字

如何在 Azure Insights for Azure Function 應用程序中存儲和獲取 http 表單數據

如何從 json python 中獲取嵌套的響應數據

如何從本地獲取輸入並將其存儲到本地的數據幀中

應用程序從 Android 中已刪除的數據庫文件中提供數據

如何從 Firebase Firestore 獲取數據並將其存儲在 List 中以在 Flutter Widgets 中使用?

當我嘗試從 Bluehost 獲取數據以響應網站應用程序時,URL 被阻止(Access-Control-Allow-Origin - Missing Header)

從 api 獲取數據並將其存儲在狀態中,但狀態仍顯示未定義

從 Go 中的 ec2 元數據服務獲取 aws 憑據

如何從 WCF 服務應用程序方法返回不同類型的響應?

如何通過 psql 將 postgresql 數據庫轉儲從本地數據庫恢復到服務器?

在 Django rest-framework 中僅從數據庫返回一個響應

我正在嘗試從 api 獲取數據並將其呈現到屏幕上,但我只能呈現最後一個數據而不是所有 api 響應

當我嘗試從 Cloud Firestore 讀取數據時應用程序崩潰

從獲取響應中訪問數據