创建调度计划
功能介绍
用户通过北向接口在指定边缘节点上创建调度计划
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/edge-nodes/{edge_node_id}/schedules
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
项目ID。获取方法请参见 获取项目ID。 |
|
edge_node_id |
是 |
String |
边缘节点ID |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
schedule_id |
否 |
String |
调度计划id,租户下唯一,选填如不填则随机生成 |
|
name |
是 |
String |
调度计划名称 |
|
cycle_type |
是 |
String |
调度计划的循环类型,once表示在start_time执行,end_time结束;daliy表示start_time-end_time之间每天都执行 |
|
enabled |
是 |
Boolean |
调度计划是否生效 |
|
start_time |
否 |
Long |
调度计划起始时间,毫秒级别的时间戳,可选值,不填表示立即执行 |
|
end_time |
是 |
Long |
调度计划结束时间,毫秒级别的时间戳 |
|
priority |
是 |
Integer |
调度计划优先级。 |
|
daily |
否 |
DailyDto object |
每天的时间描述结构体 |
|
tasks |
是 |
Array of ScheduleTask objects |
调度任务信息 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
exceptional_dates |
否 |
ExceptionalDates object |
例外的日期,valid_dates表示需要执行的日期,invalid_dates表示不执行的日期。其优先级最高,优先级:ExceptionalDates > weekdays > start_time-endtime |
|
time_spans |
是 |
Array of TimeSpans objects |
时间段描述 |
|
weekdays |
否 |
Object |
描述此任务有效的星期几,为数组。如果为null,则表示start_time-endtime之间,每天都执行;如果为空数组,则表示start_time-endtime之间,每天都不执行;如果为[1, 2],则表示每周一、二执行。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
valid_dates |
否 |
Array of strings |
例外日期 |
|
invalid_dates |
否 |
Array of strings |
无效日期 |
响应参数
状态码:201
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
schedule_id |
String |
调度计划id,租户下唯一 |
|
node_id |
String |
节点id |
|
name |
String |
调度计划名称 |
|
cycle_type |
String |
调度计划的循环类型 |
|
enabled |
Boolean |
调度计划是否生效 |
|
reset_current_task |
Boolean |
是否立即执行 |
|
start_time |
Long |
调度计划起始时间,毫秒级别的时间戳 |
|
end_time |
Long |
调度计划结束时间,毫秒级别的时间戳 |
|
priority |
Integer |
调度计划优先级, 1-16 |
|
daily |
DailyDto object |
每天的时间描述结构体 |
|
tasks |
Array of ScheduleTask objects |
调度任务信息 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
exceptional_dates |
ExceptionalDates object |
例外的日期,valid_dates表示需要执行的日期,invalid_dates表示不执行的日期。其优先级最高,优先级:ExceptionalDates > weekdays > start_time-endtime |
|
time_spans |
Array of TimeSpans objects |
时间段描述 |
|
weekdays |
Object |
描述此任务有效的星期几,为数组。如果为null,则表示start_time-endtime之间,每天都执行;如果为空数组,则表示start_time-endtime之间,每天都不执行;如果为[1, 2],则表示每周一、二执行。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
valid_dates |
Array of strings |
例外日期 |
|
invalid_dates |
Array of strings |
无效日期 |
请求示例
POST https://{endpoint}/v2/{project_id}/edge-nodes/{edge_node_id}/schedules
{
"schedule_id" : "1A",
"name" : "H1照明控制",
"cycle_type" : "daily",
"enabled" : true,
"start_time" : 1691572410000,
"end_time" : 1691572410000,
"priority" : 8,
"daily" : {
"exceptional_dates" : {
"valid_dates" : [ "2023-01-01" ],
"invalid_dates" : [ "2023-01-02" ]
},
"time_spans" : [ {
"start" : "11:40:00",
"end" : "11:49:00"
} ],
"weekdays" : [ 1, 2, 3 ]
},
"tasks" : [ {
"device_ids" : [ "device1" ],
"action" : "SetProperties",
"paras" : [ {
"service_id" : "dataService",
"properties" : {
"Switch" : 1
}
} ]
} ]
}
响应示例
状态码:201
Created
{
"schedule_id" : "1A",
"node_id" : "node1",
"name" : "H1照明控制",
"cycle_type" : "daily",
"enabled" : true,
"reset_current_task" : false,
"start_time" : 1691572410000,
"end_time" : 1691572410000,
"priority" : 8,
"daily" : {
"exceptional_dates" : {
"valid_dates" : [ "2023-01-01" ],
"invalid_dates" : [ "2023-01-02" ]
},
"time_spans" : [ {
"start" : "11:40:00",
"end" : "11:49:00"
} ],
"weekdays" : [ 1, 2, 3 ]
},
"tasks" : [ {
"device_ids" : [ "device1" ],
"action" : "SetProperties",
"paras" : [ {
"service_id" : "dataService",
"properties" : {
"Switch" : 1
}
} ]
} ]
}
状态码
|
状态码 |
描述 |
|---|---|
|
201 |
Created |
|
400 |
Bad Request |
|
404 |
Not Found |
错误码
请参见错误码。