@airiot/sdk-nodejs v4.4.16
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打包部署,部署方式,参考《服务发布部署文档》。
3 days ago
3 days ago
4 days ago
4 days ago
4 days ago
1 month ago
2 months ago
2 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
7 months ago
7 months ago
9 months ago
7 months ago
9 months ago
10 months ago
7 months ago
9 months ago
11 months ago
8 months ago
9 months ago
7 months ago
9 months ago
9 months ago
7 months ago
9 months ago
10 months ago
8 months ago
9 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago