配置数据推送
物联网平台支持以项目的维度,将一个项目中的所有传感器数据向应用服务器进行推送,本节将演示如何配置HTTP接口推送;
当接收推送数据时需要在5秒内返回应答报文,否则认为失败,当1分钟内出现5次推送失败时会开启熔断,开启熔断后将关闭推送,5分钟后将再次推送;
操作步骤
- 在准备的具备公网IP的服务器上部署一套http接收服务,具体接口协议请查看接口文档->HTTP接口,在本样例中,使用python编写了一个简易的http服务,python版本为2.7.5
http_server.py
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
import json
data = {'cosde':0,"msg":""}
host = ('0.0.0.0', 8888)
class Resquest(BaseHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)
print("receive data...")
print(post_data.decode('utf-8'))
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json.dumps(data).encode())
if __name__ == '__main__':
server = HTTPServer(host, Resquest)
print("Starting server, listen at: %s:%s" % host)
server.serve_forever()
示例二:使用java的spring mvc
@RestController
@RequestMapping("/datapush")
public class DatapushController {
@RequestMapping
public Map<String, Object> receive(@RequestBody Map<String, Object> data) {
System.out.println(data);
Map<String, Object> result = new HashMap<>();
result.put("success", true);
return result;
}
}
- 在我的设备中点击数据推送以及数据推送配置
- 点击新增按钮,并配置数据推送信息
- 项目名称:进行数据推送的项目名称,目前数据推送以按项目维度进行,一个项目可以有多个推送配置,同时进行数据推送,演示中填写测试项目1
- 推送协议物联网平台月应用服务器之间的接口协议,可选HTTP和MQTT两种方式,演示中使用HTTP方式
- 推送地址物联网平台对接的应用服务器地址,填写http接收服务的URL
- 点击确认按钮
HTTP推送使用的method为post,Content-Type为application/json
