SurveyGizmo提供了一个“ webhook”,可将数据以JSON或简单的形式发布到给定的URL。我需要将此数据插入Azure中的SQL Server数据库中。我可以获取触发器(帖子)来启动应用程序,但是很难从提交的JSON中提取数据。
我使用webhook.site来获取通过SurveyGizmo发送的JSON样本。我用它粘贴到触发器(HTTP请求)下的模式的“样本有效负载”中。我在示例中看到了数据,字段名称等,但是在第二步(即SQL Server的插入记录)中,我似乎无法从中获取值。我将在下面粘贴示例JSON。当我在SQL部分下选择“参数”时,看到的是动态内容下的很多“答案”选择。我在下面的示例中看到多次重复,因此我认为它只是无法正确读取模式,或者我需要写出模式。有什么想法吗?
{
"is_test_data": null,
"session_id": "1567451759_5d6d6a6f705997.66294551",
"language": "English",
"date_started": "2019-09-02 15:15:59 EDT",
"link_id": null,
"url_variables": [
],
"ip_address": "99.85.42.146",
"referer": "https:\/\/app.surveygizmo.com\/builder\/test\/id\/5147523",
"user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.102 Safari\/537.36 Edge\/18.18362",
"response_time": null,
"data_quality": [
],
"survey_data": {
"3": {
"id": 3,
"type": "TEXTBOX",
"question": "Please enter your email address.\u00a0 Doing so will allow you to retrieve your individual report at a later date.",
"section_id": 1,
"answer": "adan13@example.net",
"shown": true
},
"119": {
"id": 119,
"type": "HIDDEN",
"question": "org",
"section_id": 1,
"answer": "",
"answer_id": 0,
"shown": true
}
}
我希望例如通过选择“ ip_address”,该应用将插入“ 99.85.42.146”。但是我在选择的领域(“参数”)一无所获。
答案 0 :(得分:0)
根据我的理解,SurveyGizmo将json数据发布到您的逻辑应用程序中,并且您的逻辑应用程序将接受json数据并将部分数据插入到SQL Server中。 首先,您使用下面的JSON模式创建一个http触发器:
{
"properties": {
"data_quality": {
"type": "array"
},
"date_started": {
"type": "string"
},
"ip_address": {
"type": "string"
},
"is_test_data": {},
"language": {
"type": "string"
},
"link_id": {},
"referer": {
"type": "string"
},
"response_time": {},
"session_id": {
"type": "string"
},
"survey_data": {
"properties": {
"3": {
"properties": {
"answer": {
"type": "string"
},
"id": {
"type": "integer"
},
"question": {
"type": "string"
},
"section_id": {
"type": "integer"
},
"shown": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"119": {
"properties": {
"answer": {
"type": "string"
},
"answer_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"question": {
"type": "string"
},
"section_id": {
"type": "integer"
},
"shown": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"url_variables": {
"type": "array"
},
"user_agent": {
"type": "string"
}
},
"type": "object"
}
然后使用所需的配置创建一个SQL服务器插入操作。 在此演示中,我在sql服务器中创建了一个简单表,我将从JSON中提取ip_address,然后将其保存到SQL服务器:
由于已正确定义架构,因此您可以在此处选择所需的参数。
使用您提供的json数据保存并运行此逻辑应用,一切按预期进行:
如果您有任何不清楚的地方,请随时告诉我:)
嗨,迈克,如果您想使用自定义JSON数据测试此逻辑应用,则只需使用一些http客户端工具(例如邮递员或rest客户端)进行一些测试,如果触发,您将获得202代码成功:
如您所见,当我发布json时,将插入一个新的IP记录:
顺便说一句,我现在没有自由职业者,那么我能提供什么帮助?