更新时间:2024-06-20 GMT+08:00
分享

创建调度计划

功能介绍

用户通过北向接口在指定边缘节点上创建调度计划

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/edge-nodes/{edge_node_id}/schedules

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见 获取项目ID

edge_node_id

String

边缘节点ID

最小长度:1

最大长度:64

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

最小长度:0

最大长度:20000

表3 请求Body参数

参数

是否必选

参数类型

描述

schedule_id

String

调度计划id,租户下唯一,选填如不填则随机生成

最小长度:1

最大长度:64

name

String

调度计划名称

最小长度:1

最大长度:64

cycle_type

String

调度计划的循环类型,once表示在start_time执行,end_time结束;daliy表示start_time-end_time之间每天都执行

最小长度:1

最大长度:64

enabled

Boolean

调度计划是否生效

缺省值:false

start_time

Long

调度计划起始时间,毫秒级别的时间戳,可选值,不填表示立即执行

最小值:0

最大值:7983849600000

end_time

Long

调度计划结束时间,毫秒级别的时间戳

最小值:0

最大值:7983849600000

priority

Integer

调度计划优先级。

最小值:1

最大值:16

daily

DailyDto object

每天的时间描述结构体

tasks

Array of ScheduleTask objects

调度任务信息

数组长度:1 - 10

表4 DailyDto

参数

是否必选

参数类型

描述

exceptional_dates

ExceptionalDates object

例外的日期,valid_dates表示需要执行的日期,invalid_dates表示不执行的日期。其优先级最高,优先级:ExceptionalDates > weekdays > start_time-endtime

time_spans

Array of TimeSpans objects

时间段描述

数组长度:1 - 10

weekdays

Object

描述此任务有效的星期几,为数组。如果为null,则表示start_time-endtime之间,每天都执行;如果为空数组,则表示start_time-endtime之间,每天都不执行;如果为[1, 2],则表示每周一、二执行。

表5 ExceptionalDates

参数

是否必选

参数类型

描述

valid_dates

Array of strings

例外日期

数组长度:0 - 100

invalid_dates

Array of strings

无效日期

数组长度:0 - 100

表6 TimeSpans

参数

是否必选

参数类型

描述

start

String

开始时间;不包含日期,为本地时刻,根据网关侧的本地时间进行调度

最小长度:1

最大长度:10

end

String

结束时间,不包含日期,为本地时刻,根据网关侧的本地时间进行调度

最小长度:1

最大长度:10

表7 ScheduleTask

参数

是否必选

参数类型

描述

device_ids

Array of strings

设备id数组

最小长度:1

最大长度:256

数组长度:1 - 100

action

String

任务执行的动作,当前支持SetProperties

paras

Object

对应action的参数

响应参数

状态码: 201

表8 响应Body参数

参数

参数类型

描述

schedule_id

String

调度计划id,租户下唯一

最小长度:1

最大长度:64

node_id

String

节点id

最小长度:1

最大长度:64

name

String

调度计划名称

最小长度:1

最大长度:64

cycle_type

String

调度计划的循环类型

最小长度:1

最大长度:64

enabled

Boolean

调度计划是否生效

最小长度:1

最大长度:64

start_time

Long

调度计划起始时间,毫秒级别的时间戳

最小值:0

最大值:4828176000000

end_time

Long

调度计划结束时间,毫秒级别的时间戳

最小值:0

最大值:4828176000000

priority

Integer

调度计划优先级, 1-16

最小值:1

最大值:16

daily

DailyDto object

每天的时间描述结构体

tasks

Array of ScheduleTask objects

调度任务信息

数组长度:1 - 10

表9 DailyDto

参数

参数类型

描述

exceptional_dates

ExceptionalDates object

例外的日期,valid_dates表示需要执行的日期,invalid_dates表示不执行的日期。其优先级最高,优先级:ExceptionalDates > weekdays > start_time-endtime

time_spans

Array of TimeSpans objects

时间段描述

数组长度:1 - 10

weekdays

Object

描述此任务有效的星期几,为数组。如果为null,则表示start_time-endtime之间,每天都执行;如果为空数组,则表示start_time-endtime之间,每天都不执行;如果为[1, 2],则表示每周一、二执行。

表10 ExceptionalDates

参数

参数类型

描述

valid_dates

Array of strings

例外日期

数组长度:0 - 100

invalid_dates

Array of strings

无效日期

数组长度:0 - 100

表11 TimeSpans

参数

参数类型

描述

start

String

开始时间;不包含日期,为本地时刻,根据网关侧的本地时间进行调度

最小长度:1

最大长度:10

end

String

结束时间,不包含日期,为本地时刻,根据网关侧的本地时间进行调度

最小长度:1

最大长度:10

表12 ScheduleTask

参数

参数类型

描述

device_ids

Array of strings

设备id数组

最小长度:1

最大长度:256

数组长度:1 - 100

action

String

任务执行的动作,当前支持SetProperties

paras

Object

对应action的参数

请求示例

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,
  "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

错误码

请参见错误码

相关文档