IOT Timer(定时器) API

服务器地址:

区域 服务器地址
华南广州区域 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"
}