@gtiot/sdk-nodejs
v0.2.2
Published
云化组态平台NodeJS开发基础库
Readme
Node SDK开发文档
前沿
使用前请先阅读《创建第三方应用文档》创建第三方应用。
概述
本文档主要介绍Air IOT JavaScript SDK的安装和使用。在使用本文档前,您需要先了解Air IOT的一些基本知识,并已经安装了Air IOT平台服务。 JavaScript SDK可以运行在Node.js环境中,开发者通过调用API简单便捷地创建驱动、任务和接口服务。
安装SDK
Node.js环境
支持的Node.js版本
- Node 10.x 以及更高版本
安装步骤
- JavaScript包已经上传npm管理器,直接使用npm安装SDK的开发包:
npm install @gtiot/sdk-nodejs- 然后在你的程序中使用:
const { App, Driver } = require('@gtiot/sdk-nodejs')
const cfg = {
host: "localhost", // 网关IP地址
port: 80, // 网关端口
mqtt: { // 消息队列配置
host: "localhost" // 消息队列IP地址
port: 1883, // 消息队列端口
},
credentials: {
ak: "ak", // 您的AK
sk: "sk" // 您的SK
},
log: {
level:"debug" // 日志等级
},
driver: {
id: "test", // 驱动唯一标识
name: "test" // 驱动名称
}
}
class TestDriver extends Driver {
init() {
app.log.debug('init')
}
start(app, driverConfig, cb) {
app.log.debug('启动')
cb(null)
}
reload(app, driverConfig, cb) {
app.log.debug('驱动重启')
cb(null)
}
run(app, nodeId, command, cb) {
app.log.debug('运行指令', nodeId, command)
cb(null)
}
debug(app, debugConfig, cb) {
app.log.debug('运行测试', debugConfig)
cb(null)
}
stop(app, cb) {
app.log.debug('驱动停止处理')
this.cron.cancel()
cb(null)
}
}
// 实例化并开始运行
new App(cfg).start(new TestDriver())日志
引入日志通用包,设置日志等级,包含debug、info、warn、error方法。
示例代码
// 导入包
const log = require('@gtiot/sdk-nodejs/log')('debug')
// 测试
describe('log', function () {
it('debug', (done) => {
log.debug(1)
done()
})
it('info', (done) => {
log.info(1)
done()
})
it('warn', (done) => {
log.warn(1)
done()
})
it('error', (done) => {
log.error(1)
done()
})
})初始化
驱动开发快速入门
初始化配置
与服务端交互,包含网关地址、消息队列地址、认证信息、驱动信息、日志等配置信息。
示例代码
const { App, Driver } = require('@gtiot/sdk-nodejs/driver')
let config = {
host: "localhost", // 网关IP地址
port: 80, // 网关端口
mqtt: { // 消息队列配置
host: "localhost" // 消息队列IP地址
port: 1883, // 消息队列端口
},
credentials: {
ak: "ak", // 您的AK
sk: "sk" // 您的SK
},
log: {
level:"debug" // 日志等级
},
driver: {
id: "test", // 驱动唯一标识
name: "test" // 驱动名称
}
}驱动App类方法
驱动启动
| 方法 | start(driver) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | driver | 否 | 驱动的实例化对象 | | | 返回值 | 无 | | |
保存数据
| 方法 | writePoints({ modelId, uid, nodeId, fields, time }) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | modelId | 是 | 模型id | | | nodeId | 是 | 设备id | | | uid | 是 | 设备编号 | | | time | 是 | 数据更新时间,时间戳毫秒数(1596440650000) | | | fields | 是 | 数组对象,[{tag:{},value:0}],tag为数据点对象,value为数据值 | | | 返回值 | 无 | | |
将日志发送到消息队列
| 方法 | logMsg(topic,msg) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | topic | 否 | 日志消息主题 | | | msg | 否 | string,日志数据 | | | 返回值 | 无 | | |
将debug日志发送到消息队列
| 方法 | logDebug(uid,msg) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | uid | 否 | 设备编号 | | | msg | 否 | string,日志数据 | | | 返回值 | 无 | | |
将info日志发送到消息队列
| 方法 | logInfo(uid,msg) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | uid | 否 | 设备编号 | | | msg | 否 | string,日志数据 | | | 返回值 | 无 | | |
将warn日志发送到消息队列
| 方法 | logWarn(uid,msg) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | uid | 否 | 设备编号 | | | msg | 否 | string,日志数据 | | | 返回值 | 无 | | |
将error日志发送到消息队列
| 方法 | logError(uid,msg) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | uid | 否 | 设备编号 | | | msg | 否 | string,日志数据 | | | 返回值 | 无 | | |
新建一个class
class继承Driver类包含init、start、schema、reload、run、debug、stop等函数,驱动的读、写数据都是通过此类完成的。
示例代码
/**
* @name: TestDriver
* @msg: 测试驱动
* @param {type}
* @return:
*/
class TestDriver extends Driver {
/**
* @name: init
* @msg: 初始化驱动,如初始化连接
* @param {type}
* @return:
*/
init() {
app.log.debug('init')
}
/**
* @name: schema
* @msg: 查询返回驱动配置schema js内容
* @return: string 驱动配置schema
*/
schema(){}
/**
* @name: start
* @msg: 驱动启动
* @param driverConfig array 包含模型及设备数据
* @return:
*/
start(app, driverConfig, cb) {
app.log.debug('启动')
cb(null)
}
/**
* @name: reload
* @msg: 驱动重启
* @param driverConfig array 包含模型及设备数据
* @return:
*/
reload(app, driverConfig, cb) {
app.log.debug('驱动重启')
cb(null)
}
/**
* @name: run
* @msg: 运行指令,向设备写入数据
* @param nodeId string 设备id
* @param command object 指令内容
* @return:
*/
run(app, nodeId, command, cb) {
app.log.debug('运行指令', nodeId, command)
cb(null)
}
/**
* @name: debug
* @msg: 调试驱动
* @param debugConfig object 驱动配置,包含连接信息
* @return:
*/
debug(app, debugConfig, cb) {
app.log.debug('运行测试', debugConfig)
cb(null)
}
/**
* @name: stop
* @msg: 驱动停止处理
* @param {type}
* @return:
*/
stop(app, cb) {
app.log.debug('驱动停止处理')
this.cron.cancel()
cb(null)
}
}驱动启动
实例化并开始运行驱动
示例代码
new App(config).start(new TestDriver())任务类(计算类)服务开发快速入门
开发计算类或者任务类等服务。
任务App类属性
调度程序
| 属性 | schedule | | | | --- | --- | --- | --- | | 参数说明 | 属性名 | 必选 | 说明 | | schedule | 是 | 计划任务 | | | 返回值 | 无 | | |
任务App类方法
驱动启动
| 方法 | start(task) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | task | 否 | 任务的实例化对象 | | | 返回值 | 无 | | |
导入程序包
const { App, Task } = require('@gtiot/sdk-nodejs/task')新建一个class
class继承Task类包含init、start、stop等函数任务的启动、停止通过此类完成的。
示例代码
// 继承Task类
class TestTask extends Task {
/**
* @name: init
* @msg: 初始化
* @param {type}
* @return:
*/
init() {
log.info('初始化')
}
/**
* @name: start
* @msg: 启动处理
* @param {type}
* @return {type}
*/
start(app) {
log.info('启动')
app.schedule.scheduleJob('* * * * * *', () => {
log.debug(`测试`)
})
}
/**
* @name: stop
* @msg: 停止处理
* @param {type}
* @return {type}
*/
stop(app) {
log.info('停止')
}
}任务启动
实例化并开始运行任务
示例代码
// 实例化并开始运行
new App().start(new TestTask())接口服务开发快速入门
开发接口类等服务。 如在平台内使用,接口需增加统一URL PATH路径,如http://localhost:8080/路径/node。
接口App类属性
Web服务
| 属性 | http | | | | --- | --- | --- | --- | | 参数说明 | 属性名 | 必选 | 说明 | | http | 是 | web服务 | | | 返回值 | 无 | | |
任务App类方法
驱动启动
| 方法 | start(service, port) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | service | 否 | 接口的实例化对象 | | | port | 否 | 接口服务端口 | | | 返回值 | 无 | | |
导入程序包
const { App, Service } = require('@gtiot/sdk-nodejs/service')新建一个class
class继承Service类包含init、start、stop等函数接口的启动、停止通过此类完成的。
示例代码
// 继承Service类
class TestService extends Service {
/**
* @name: init
* @msg: 初始化
* @param {type}
* @return:
*/
init() {
log.info('初始化')
}
/**
* @name: start
* @msg: 启动处理
* @param {type}
* @return {type}
*/
start(app) {
log.info('启动')
app.http.get('/', (req, res) => res.send('Hello World!'))
}
/**
* @name: stop
* @msg: 停止处理
* @param {type}
* @return {type}
*/
stop(app) {
log.info('停止')
}
}服务启动
实例化并开始运行接口
示例代码
// 实例化并开始运行
new App().start(new TestService())通用连接
MQTT连接
客户端使用快速入门
实例化客户端,传入地址、端口、认证信息等。
示例代码
// 引入包
const Mqtt = require('@gtiot/sdk-nodejs/conn/mqtt')
// 实例化
let m = new Mqtt({ host, port, username, password })客户端方法
关闭连接
| 方法 | close(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(){} | | | 返回值 | 无 | | |
发送数据点数据到平台
| 方法 | sendDefault(data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | { uid, nodeId, modelId, fields:{"数据点":"值"} } | | | 返回值 | promise | | |
发送数据
| 方法 | send(topic, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | topic | 否 | string 主题 | | | data | 否 | string | Buffer 数据 | | | 返回值 | promise | | |
订阅并接收消息
| 方法 | receive({ topic, qos = 0 }, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | topic | 是 | string 主题 | | | qos | 是 | 服务质量等级 | | | cb | 否 | 成功回调function callback(topic, payload){} | | | 返回值 | | | |
订阅主题
| 方法 | subscribe({ topic, qos = 0 }, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | topic | 是 | string 主题 | | | qos | 是 | 服务质量等级 | | | cb | 否 | 成功回调function callback(err){} | | | 返回值 | | | |
接收消息数据
| 方法 | message(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(topic, payload){} | | | 返回值 | | | |
AMQP连接
客户端使用快速入门
实例化客户端,传入地址、端口、认证信息等。
示例代码
// 引入包
const RabbitMQ = require('@gtiot/sdk-nodejs/conn/rabbit')
// 实例化
let m = new RabbitMQ({ host, port, username, password })客户端方法
关闭连接
| 方法 | close(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(err){} | | | 返回值 | 无 | | |
发送数据点数据到平台
| 方法 | sendDefault(data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | { uid, nodeId, modelId, fields:{"数据点":"值"} } | | | 返回值 | promise | | |
发送数据
| 方法 | send(exchange, routingKey, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | exchange | 否 | 消息交换机 | | | routingKey | 否 | string 路由 | | | data | 否 | Buffer 数据 | | | 返回值 | promise | | |
接收消息数据
| 方法 | receive(queue, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | queue | 否 | string 队列 | | | cb | 否 | 成功回调function callback(err, msg){} | | | 返回值 | | | |
TCP客户端连接
客户端使用快速入门
实例化客户端,传入地址、端口等。
示例代码
// 引入包
const Socket = require('@gtiot/sdk-nodejs/conn/tcp')
// 实例化
let socket = new Socket( host, port )客户端方法
关闭连接
| 方法 | close() | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | 返回值 | 无 | | |
向服务端写入数据
| 方法 | write(data[, encoding], cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | string | Buffer | Uint8Array 数据 | | | encoding | 否 | string 编码,默认utf-8 | | | cb | 否 | 成功回调function callback(err){} | | | 返回值 | | | |
接收数据
| 方法 | message(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(data){} | | | 返回值 | | | |
UDP客户端连接
客户端使用快速入门
实例化客户端,传入地址、端口等。
示例代码
// 引入包
const UDP = require('@gtiot/sdk-nodejs/conn/udp')
// 实例化
let udp = new UDP( host, port )客户端方法
向服务端写入数据
| 方法 | write(data, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | string 数据 | | | cb | 否 | 成功回调function callback(err,b){} | | | 返回值 | | | |
接收数据
| 方法 | message(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(msg, rinfo){} | | | 返回值 | | | |
WebSocket客户端连接
客户端使用快速入门
实例化客户端,传入WebSocket url地址。
示例代码
// 引入包
const WebSocket = require('@gtiot/sdk-nodejs/conn/ws')
// 实例化
let ws = new WebSocket(url)客户端方法
关闭连接
| 方法 | close() | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | 返回值 | 无 | | |
向服务端写入数据
| 方法 | sendObject(data, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | object 数据 | | | cb | 否 | 成功回调function callback(err){} | | | 返回值 | | | |
向服务端写入字符串数据
| 方法 | send(data, cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | string 数据 | | | cb | 否 | 成功回调function callback(err){} | | | 返回值 | | | |
接收数据
| 方法 | message(cb) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | cb | 否 | 成功回调function callback(data){} | | | 返回值 | | | |
接口客户端
客户端使用快速入门
实例化客户端,传入网关协议(http、https)、地址、端口、认证信息等。
| 参数 | 参数说明 | 类型 | 说明 | | --- | --- | --- | --- | | protocol | 接口协议 | string | 非必填,默认http | | host | 网关IP地址 | string | | | port | 网关端口 | number | | | credentials | 认证信息 | object | | | ak | 应用app id | string | 创建应用获取 | | sk | 应用秘钥 | string | 创建应用获取 |
示例代码
// 引入包
const Api = require('@gtiot/sdk-nodejs/api')
// 实例化
let api = new Api({ protocol, host, port, credentials: { ak, sk } })接口详情
查询token
| 方法 | authToken() | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | 无 | | | | | 返回值 | {"expires": 0,"token": ""},expires:超时时间,单位ns | | |
GET方法
| 方法 | get(url) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | url | 否 | 请求地址,如http://localhost:80/core/model/{id} | | | 返回值 | 返回get请求结果 | | |
POST方法
| 方法 | post(url, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | url | 否 | 请求地址,如http://localhost:80/core/model | | | data | 否 | 请求数据 | | | 返回值 | 返回post请求结果 | | |
DELETE方法
| 方法 | delete(url) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | url | 否 | 请求地址,如http://localhost:80/core/model/{id} | | | 返回值 | 返回delete请求结果 | | |
PUT方法
| 方法 | put(url, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | url | 否 | 请求地址,如http://localhost:80/core/model/{id} | | | data | 否 | 请求数据 | | | 返回值 | 返回put请求结果 | | |
PATCH方法
| 方法 | patch(url, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | url | 否 | 请求地址,如http://localhost:80/core/model/{id} | | | data | 否 | 请求数据 | | | 返回值 | 返回patch请求结果 | | |
查询最新采集数据
| 方法 | getDataLatest(query) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | query | 否 | 设备编号及数据点唯一标识数组,如 [{"uid":"设备编号","tagId":"数据点"}],参数具体信息请参考《平台接口文档》 | | | 返回值 | 返回最新数据点信息及数据数组,[{"tagId":"数据点","time":时间戳,"uid":"设备编号","value":最新数据值}] | | |
查询时序数据,如实时数据及历史数据
| 方法 | getDataQuery(query) | | |
| --- | --- | --- | --- |
| 参数说明 | 参数名 | 必选 | 说明 |
| query | 否 | 查询条件数组,[{"fields":["查询字段"],"uid":"设备编号","where":["查询条件"],"group":["分组"],"deartment":["部门"],"fill":"时序查询填充值","order":"排序","limit":5,"offset":0}],数组中包含json对象,json对象属性非全部必要,可根据需求选取,fields为查询字段,可包含聚合函数(COUNT(计数)、MEAN(平均值)、SUM(求和)等,也可使用其他查询函数)。例: [{"fields":["MEAN("tagid3") as XXX","MEAN("tagid4") as YYY"],"uid":"adg","where":["time >= '2019-04-15 00:00:00'","time <= '2019-04-16 00:00:00'"],"group":["time(5m)"],"deartment":["5cceba2cc7157e23ae172c28"],"fill":"0","order":"time asc","limit":5,"offset":0}],参数具体信息请参考《平台接口文档》 | |
| 返回值 | 返回数据点数据,{"results":[{"series":[{"columns":["数据点"],"name":"模型id","values":[[{值}]]}]}]} |
| |
根据过滤器查询模型数据
| 方法 | getModel(query) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | query | 否 | json对象属性非全部必要,可根据需求选取,详情请看接口文档,例{"limit":30,"skip":20,"sort":{"age":-1,"posts":1},"filter":{"name":"Tom","fullname":{"$regex":"la"},,"project":{"name":1,"model":1,"warning":{"hasWarning":1}},"withCount":true},参数具体信息请参考《平台接口文档》 | | | 返回值 | 返回模型数组 | [{"id":"id","name":"模型名称"...}] | |
根据id查询模型数据
| 方法 | getModelById(id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 模型id | | | 返回值 | 返回模型数据 | {"id":"id","name":"模型名称"...} | |
保存模型数据
| 方法 | saveModel(data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | 模型对象数据,例子{"name":"模型名称"...} | | | 返回值 | 返回保存结果 | {"InsertedID":"模型唯一标识"} | |
根据id删除模型数据
| 方法 | deleteModelById(id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 模型id | | | 返回值 | 返回删除结果 | {"DeletedCount":1} | |
根据id及数据替换原有模型数据
| 方法 | replaceModelById(id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 模型id | | | data | 否 | 模型对象数据,例子{"name":"模型名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据id更新模型数据
| 方法 | updateModelById(id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 模型id | | | data | 否 | 模型对象数据,例子{"name":"模型名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据过滤器查询资产数据
| 方法 | getNode(query) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | query | 否 | json对象属性非全部必要,可根据需求选取,详情请看接口文档,例{"limit":30,"skip":20,"sort":{"age":-1,"posts":1},"filter":{"name":"Tom","fullname":{"$regex":"la"},"withCount":true},参数具体信息请参考《平台接口文档》 | | | 返回值 | 返回资产数组 | [{"id":"id","name":"资产名称"...}] | |
根据id查询资产数据
| 方法 | getNodeById(id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 资产id | | | 返回值 | 返回模型数据 | {"id":"id","name":"模型名称"...} | |
保存资产数据
| 方法 | saveNode(data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | 资产对象数据,例 {"name":"模型名称"...} | | | 返回值 | 返回保存结果 | {"InsertedID":"资产唯一标识"} | |
根据id删除资产数据
| 方法 | deleteNodeById(id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 资产id | | | 返回值 | 返回删除结果 | {"DeletedCount":1} | |
根据id及数据替换原有资产数据
| 方法 | replaceNodeById(id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 资产id | | | data | 否 | 资产对象数据,例子{"name":"资产名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据id更新资产数据
| 方法 | updateNodeById(id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 资产id | | | data | 否 | 资产对象数据,例子{"name":"资产名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据表名及过滤器查询工作表数据
| 方法 | getExtData(tableName, query) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 否 | 工作表名称 | | | query | 否 | json对象属性非全部必要,可根据需求选取,详情请看接口文档,例{"limit":30,"skip":20,"sort":{"age":-1,"posts":1},"filter":{"name":"Tom","fullname":{"$regex":"la"},"withCount":true},参数具体信息请参考《平台接口文档》 | | | 返回值 | 返回工作表数据数组 | [{"id":"id"...}] | |
根据表名及id查询工作表数据
| 方法 | getExtDataById(tableName, id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 工作表名称 | 工作表名称 | | | id | 是 | 主键id | | | 返回值 | 返回工作表数据 | {"id":"id","name":"名称"...} | |
根据表名保存一条工作表数据
| 方法 | saveExtData(tableName, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 否 | 工作表名称 | | | data | 否 | 工作表对象数据,例 {"name":"名称"...} | | | 返回值 | 返回保存结果 | {"InsertedID":"唯一标识"} | |
根据表名及id删除一条工作表数据
| 方法 | deleteExtDataById(tableName, id) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 否 | 工作表名称 | | | id | 否 | 主键id | | | 返回值 | 返回删除结果 | {"DeletedCount":1} | |
根据表名、id及数据替换原有工作表数据
| 方法 | replaceExtDataById(tableName, id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 否 | 工作表名称 | | | id | 否 | 主键id | | | data | 否 | 工作表对象数据,例 {"name":"名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据表名、id及数据更新工作表数据
| 方法 | updateExtDataById(tableName, id, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | tableName | 否 | 工作表名称 | | | id | 否 | 主键id | | | data | 否 | 工作表对象数据,例 {"name":"名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据过滤器查询报警数据
| 方法 | getWarning(query, archive) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | archive | 否 | true表示操作归档报警 | | | query | 否 | json对象属性非全部必要,可根据需求选取,详情请看接口文档,例{"limit":30,"skip":20,"sort":{"age":-1,"posts":1},"filter":{"name":"Tom"},withCount":true},参数具体信息请参考《平台接口文档》 | | | 返回值 | 返回报警数据数组 | [{"id":"id","name":"报警名称"...}] | |
根据报警id查询报警数据
| 方法 | getWarningById(id, archive) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 报警id | | | archive | 否 | true表示操作归档报警 | | | 返回值 | 返回模型报警 | {"id":"id","desc":"描述"...} | |
保存一条报警数据
| 方法 | saveWarning(data, archive) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | data | 否 | 报警对象数据,例 {"desc":"报警信息描述"...} | | | archive | 否 | true表示操作归档报警 | | | 返回值 | 返回保存结果 | {"InsertedID":"报警唯一标识"} | |
删除一条报警数据
| 方法 | deleteWarningById(id, archive) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 报警id | | | archive | 否 | true表示操作归档报警 | | | 返回值 | 返回删除结果 | {"DeletedCount":1} | |
根据id及数据替换原有报警数据
| 方法 | replaceWarningById(id, archive, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 报警id | | | archive | 否 | true表示操作归档报警 | | | data | 否 | 报警对象数据,例 {"desc":"报警信息描述"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
根据id更新报警数据
| 方法 | updateWarningById(id, archive, data) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | id | 否 | 报警id | | | archive | 否 | true表示操作归档报警 | | | data | 否 | 资产对象数据,例子{"name":"资产名称"...} | | | 返回值 | 返回数据更新结果 | {"MatchedCount":1,"ModifiedCount":1,"UpsertedCount":0,"UpsertedID":null} | |
获取驱动配置,驱动服务使用此接口
| 方法 | driverConfig(driverId, serviceId) | | | | --- | --- | --- | --- | | 参数说明 | 参数名 | 必选 | 说明 | | driverId | 否 | 驱动id | | | serviceId | 否 | 服务id | | | 返回值 | 返回启动配置 | [{"id":"","name":""}] | |
部署发布
通过docker打包部署,部署方式,参考《服务发布部署文档》。
