Appearance
数据分发
数据分发功能允许您将设备上传的数据转发到指定的目标。目前支持两种数据分发方式:PostData和MongoDB存储。
PostData 配置
当有新的数据上传时,系统会通过 HTTP POST 请求将数据转发到您配置的 URL。
配置说明
- URL: 接收数据的服务器地址
- 密钥(Secret Key): 用于验证请求的密钥
请求验证
为了确保数据的安全性,系统使用Bearer Token认证方式。每个请求的Header中都会包含认证信息:
{
'Authorization': 'Bearer your-secret-key',
'Content-Type': 'application/json'
}
您需要在服务器端验证请求头中的Bearer Token是否匹配您配置的密钥。
Python示例代码:
python
def verify_request(request, expected_secret_key):
auth_header = request.headers.get('Authorization')
if not auth_header:
return False
try:
# 提取Bearer Token
scheme, token = auth_header.split()
if scheme.lower() != 'bearer':
return False
# 验证token
return token == expected_secret_key
except ValueError:
return False
JavaScript示例代码:
javascript
function verifyRequest(request, expectedSecretKey) {
const authHeader = request.headers.get('Authorization');
if (!authHeader) {
return false;
}
try {
const [scheme, token] = authHeader.split(' ');
if (scheme.toLowerCase() !== 'bearer') {
return false;
}
return token === expectedSecretKey;
} catch (error) {
return false;
}
}
测试连接
您可以通过"发送测试数据"按钮来验证配置是否正确。系统会发送一个测试数据到您配置的URL,您可以通过检查签名来验证请求的真实性。
MongoDB 配置
系统支持将数据直接存储到MongoDB数据库中。
配置说明
- MongoDB URI: MongoDB连接字符串,格式如:
mongodb://username:password@host:port/database
- 集合名称: 数据将被存储到指定的集合中
注意事项
- 请确保MongoDB URI中包含了正确的访问凭证
- 指定的数据库用户需要有写入权限
- 每个组织只能配置一个MongoDB连接
测试连接
配置完成后,您可以使用"测试连接"按钮验证MongoDB连接是否正常。系统会尝试连接到指定的数据库并执行一次测试写入操作。
数据格式
无论是PostData还是MongoDB存储,数据格式都保持一致:
json
{
"device_id": "设备ID",
"timestamp": "数据上传时间",
"data": {
// 设备上传的具体数据
}
}