我正在尝试使用Logic Apps完成过去使用Pentaho所做的事情。我想构建一个具有Recurrence触发器的Logic App,该触发器将启动HTTP步骤以发布到Web服务并接收XML答复。我想解析该XML答复(已知格式),并将结果存储在Azure SQL Server数据库中。
我已经成功测试了HTTP步骤并收到了回复XML。我在SQL数据库中完成了目标表。我不知道如何使用Logic Apps,是将XML回复解析为CSV格式之类的内容,然后将其传递给SQL查询以输入新的表格行。
我已经浏览了一些教程和其他主题,但是这些步骤或者比我拥有的经验更高,或者是Logic Apps的非常基本的介绍。
我认为听到以下内容会有所帮助:
这是否比我预期的更具挑战性?我擅长使用SQL,Pentaho,R和其他工具,但是对于HTTP调用/响应还是比较陌生的,并且几乎没有XML经验。
我应该考虑哪些Logic Flow连接器,它们是否是免费产品或某些付费软件包的一部分?
在此先感谢您获得帮助。
答案 0 :(得分:0)
如果在解析后也将XML转换为JSON对象,则更加简单。这两个功能都可以通过使用xml
和json
函数来实现。
此外,由于您知道XML的格式,因此您也将了解转换后的JSON的格式,并允许您使用Parse JSON
操作来获取简单的令牌,以在Logic App的其余部分中使用。< / p>
然后您可以直接在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"
}
}
}
}