IOT-Timer(定时器)-API
更新时间:2019-06-14
服务器地址:
区域 | 服务器地址 |
---|---|
华南广州区域 | http://re.iot.gz.baidubce.com |
华北北京区域 | http://re.iot.bj.baidubce.com |
新建Timer
请求地址 HTTP POST /v1/timer
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
name | String | 是 | 定时器名称 | |
description | String | 否 | <空> | 描述 |
period | Int | 是 | 定时器触发间隔,单位:秒 | |
beginAt | Int | 否 | 系统当前时间+period | 第一次触发时间,UNIX时间戳,单位:秒 |
times | Int | 是 | 定时器执行次数 | |
endpointName | String | 是 | 定时器触发时,发送MQTT消息的实例名 | |
topic | String | 是 | 定时器触发时,发送MQTT消息的主题 | |
msg | String | 是 | 定时器触发时,发送MQTT消息的内容 |
请求示例
{
"name": "my_timer_01",
"description": "trigger every 30 seconds, for 100 times",
"period": 30,
"beginAt": 1513667688,
"times": 100,
"endpointName": "myendpoint1",
"topic": "/utils/timer01",
"msg": "{\"timer\":\"my_timer_1\"}"
}
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
uuid | String | 是 | 定时器id |
返回示例
{
"uuid":"8bd6102b-24c8-4912-876f-f0b0b08cea18"
}
更新Timer
请求地址
HTTP PUT /v1/timer/{uuid}
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
name | String | 是 | 定时器名称 | |
description | String | 否 | <空> | 描述 |
period | Int | 是 | 定时器触发间隔,单位:秒 | |
times | Int | 是 | 定时器执行次数 | |
endpointName | String | 是 | 定时器触发时,发送MQTT消息的实例名 | |
topic | String | 是 | 定时器触发时,发送MQTT消息的主题 | |
msg | String | 是 | 定时器触发时,发送MQTT消息的内容 |
请求示例
{
"name": "my_timer_01",
"description": "trigger every 30 seconds, for 200 times",
"period": 30,
"times": 200,
"endpointName": "myendpoint1",
"topic": "/utils/timer01",
"msg": "{\"timer\":\"my_timer_1\"}"
}
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
result | String | 是 | ok | 出错则抛异常 |
返回示例
{
"result":"ok"
}
说明:Timer运行后,会记录该Timer已经执行多少次,即executedTimes。如果Timer当前处于运行(RUNNING)状态,更新后的times参数小于等于executedTimes,则Timer进入完成(FINISHED)状态;否则,如果Timer当前处于完成(FINISHED)状态,更新后的times参数大于executedTimes,则Timer进入运行(RUNNING)状态。
读取Timer
请求地址
HTTP GET /v1/timer/{uuid}
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
uuid | String | 是 | 定时器的uuid |
请求示例
HTTP GET /v1/timer/8bd6102b-24c8-4912-876f-f0b0b08cea18
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
uuid | String | 是 | 定时器id | |
name | String | 是 | 定时器名称 | |
accountUuid | String | 是 | 定时器的用户id | |
description | String | 是 | 描述 | |
period | Int | 是 | 定时器触发间隔,单位:秒 | |
beginAt | Int | 是 | 第一次触发时间,UNIX时间戳,单位:秒 | |
times | Int | 是 | 定时器执行次数 | |
executedTimes | Int | 是 | 定时器已经执行的次数 | |
endpointName | String | 是 | 定时器触发时,发送MQTT消息的实例名 | |
topic | String | 是 | 定时器触发时,发送MQTT消息的主题 | |
msg | String | 是 | 定时器触发时,发送MQTT消息的内容 | |
lastExecuteTime | Int | 是 | 定时器触上次触发时间,如果没有触发过,则为0 | |
status | String | 是 | 定时器状态,可能取值:RUNNING,FINISHED | |
createTime | String | 是 | 创建时间 | |
updateTime | String | 是 | 更新时间 |
返回示例
{
"uuid": "8bd6102b-24c8-4912-876f-f0b0b08cea18",
"accountUuid": "eb105e2e-cbe5-42f2-8464-7cd4cc8316b3",
"name": "my_timer_01",
"description": "trigger every 30 seconds, for 100 times",
"period": 30,
"beginAt": 1513667688,
"times": 100,
"executedTimes": 21,
"endpointName": "myendpoint1",
"topic": "/utils/timer01",
"msg": "{"timer":"my_timer_1"}",
"lastExecuteTime": 1513667993,
"status": "RUNNING",
"createTime": "2017-11-20T11:21:23Z",
"updateTime": "2017-11-20T11:21:23Z"
}
枚举Timer
请求地址
HTTP GET /v1/timer?pageNo={pageNo}&pageSize={pageSize}
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
pageNo | Int | 否 | 1 | 分页的页标 |
pageSize | Int | 否 | 50 | 分页的大小 |
请求示例
HTTP GET /v1/timer?pageNo=1&pageSize=20
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
totalCount | Int | 是 | 总的定时器个数 | |
pageNo | Int | 是 | 分页的页标 | |
pageSize | Int | 是 | 分页的大小 | |
result | Array | 是 | 定时器详情数组,每个元素个数同接口:读取Timer |
返回示例
{
"pageNo": 1,
"pageSize": 20,
"totalCount": 1,
"result": [
{
"uuid": "8bd6102b-24c8-4912-876f-f0b0b08cea18",
"accountUuid": "eb105e2e-cbe5-42f2-8464-7cd4cc8316b3",
"name": "my_timer_01",
"description": "trigger every 30 seconds, for 100 times",
"period": 30,
"beginAt": 1513667688,
"times": 100,
"executedTimes": 21,
"endpointName": "myendpoint1",
"topic": "/utils/timer01",
"msg": "{\"timer\":\"my_timer_1\"}",
"lastExecuteTime": 1513667993,
"status": "RUNNING",
"createTime": "2017-11-20T11:21:23Z",
"updateTime": "2017-11-20T11:21:23Z"
}
]
}
删除Timer
请求地址
HTTP DELETE /v1/timer/{uuid}
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
uuid | String | 是 | 定时器的uuid |
请求示例
HTTP DELETE /v1/timer/8bd6102b-24c8-4912-876f-f0b0b08cea18
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
result | String | 是 | ok | 出错则抛异常 |
返回示例
{
"result":"ok"
}
批量删除Timer
请求地址
HTTP POST /v1/timer/batch/delete
请求参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
ids | Array | 是 | 定时器的uuid数组 |
请求示例
{
"ids": [
"8bd6102b-24c8-4912-876f-f0b0b08cea18",
"30698a2b-24c8-4912-876f-f335508ce9ab"
]
}
返回参数
名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
result | String | 是 | ok | 出错则抛异常 |
返回示例
{
"result":"ok"
}