创建任务
功能介绍
该接口用于创建任务
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/services/{service_name}/tasks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
用户项目ID,获取方法参见获取项目ID和名称 |
service_name |
是 |
String |
服务API名称 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token,获取方法参见认证鉴权 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
任务名称,只能由中文、字母(a~z A~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100] |
description |
否 |
String |
任务的描述,选填。长度不超过500 |
schedule |
否 |
TaskSchedule object |
定时任务参数,定时周期 仅支持周模式 |
input |
是 |
TaskInput object |
任务的输入配置 |
output |
是 |
TaskOutput object |
任务的输出配置 |
config |
否 |
TaskServiceConfig object |
任务配置参数 |
service_version |
是 |
String |
服务版本号,需要满足正则:^[a-z0-9.]{3,32}$ |
is_saved_as_template |
否 |
Boolean |
是否保存为模板 |
resource_order_id |
否 |
String |
资源订单id,与关联算法挂钩。非商用白名单的算法 就不用填,商用算法就为必填项,需要满足正则表达式^[a-z0-9-_]{4,36}$。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
计划任务的类型,使用计划任务时必填。可选类型weekly(每周执行)。 |
timezone |
是 |
String |
用户所处的时区,使用计划任务时必填。精确到分钟 |
days_of_week |
否 |
Array of integers |
任务会在一周的哪几天执行,当且仅当计划任务类型为weekly时,该字段需填且必填。1~7分别指代星期一至星期日 |
days_of_month |
否 |
Array of integers |
任务会在一个月的哪几天执行,当且仅当计划任务类型为monthly时,该字段需填且必填。1~31分别指代一个月中的1日至31日,当前系统不支持该参数。 |
periods |
否 |
Array<Array<TimeWindow>> |
时间段模式配置,指定周计划或者月计划中具体每天任务的执行时间段,至少需指定一个时间段 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
begin_at |
是 |
String |
单个时间段执行的起始时间,必填。其余计划任务类型时,格式为hh:mm:ss。 |
end_at |
是 |
String |
单个时间段执行的结束时间,必填,其余计划任务类型时,格式为hh:mm:ss。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
任务的输入类型,创建时必填,视频源类型为video_source 时 不支持切换为其他的type。创建时可选类型有 obs(对象存储服务存储的文件 仅云上任务支持,支持输出到webhook), url(指定的文件地址或取流地址 仅云上任务支持,支持输出到webhook), edgecamera(绑定在IEF的边缘摄像头 仅边缘任务支持,支持输出到webhook), restful(从自定义的流媒体服务器通过Restful接口获取取流地址 云上和边缘任务均支持,支持输出到webhook), vcn(VCN设备 仅边缘任务支持), video_source(使用VIAS平台视频中心管理的视频源,云上和边缘任务均支持), 建议使用video_source类型,其他类型为了兼容老业务,后续将废弃。 枚举值:
|
data |
是 |
Array of TaskInputData objects |
任务的输入详情,必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入,但更新时只允许填写一路输入。 当输入类型为:obs,需要配置 bucket,path , index 。例如: "bucket": "aicam", "path": "3rdpartylicenses.txt", "index": 0 当输入类型为:url,需要配置 url, index 。例如: "url": "https://xxx-xxx.com", "index": 0 当输入类型为:restful,需要配置 certificate_check, rtsp_path_in_response, url, index, headers 。例如:"certificate_check": true, "url": "https://hsaij-dasahbi.com", "rtsp_path_in_response": "data/url", "index": 0, "headers": { "AAA": "AAA" } 当输入类型为:vcn,需要配置 device_id, stream_type, index。例如:"device_id": "21356478954612546874#gdhjkiushdgdksjhslmhscjsckjhdbnk", "stream_type": 1, "index": 0 当输入类型为:EdgeCamera,需要配置 id, index 例如:"id": "007cdafc-6000-47ce-b0e3-870b4a0db65e","index": 0 |
vcn |
否 |
TaskInputVcn object |
VCN服务器信息,仅输入类型为vcn时需填且必填 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
video_source_id |
否 |
String |
视频源id,当输入类型为video_source时必填。 |
stream_name |
否 |
String |
视频流名称 |
bucket |
否 |
String |
OBS桶名,当输入为obs类型时必填 |
path |
否 |
String |
OBS的路径,当输入为obs类型时必填 |
url |
否 |
String |
url输入源的地址或者获取视频流地址的restful请求地址,当输入为url类型或者edgerestful类型时必填。长度不超过1000 |
headers |
否 |
Object |
获取视频流地址的restful请求携带的请求头,当输入为edgerestful类型时可选。整体呈json格式,以键值对的形式表示请求头和取值,最多允许10组。 |
rtsp_path_in_response |
否 |
String |
restful请求返回的body中,视频流地址的路径,当输入为edgerestful类型时必填。长度不超过1024 |
device_id |
否 |
String |
VCN设备ID,当输入为vcn类型时必填 |
stream_type |
否 |
Integer |
准备进行分析的码流,当输入为vcn类型时选填。取值范围为1~3,其中1代表主码流,2代表子码流1,3代表子码流2 |
id |
否 |
String |
IEF挂载的边缘设备的ID,当输入为edgecamera类型时必填 |
certificate_check |
否 |
Boolean |
是否需要对https请求进行证书校验,当输入为edgerestful类型时必填。取值为true或者false。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ip |
是 |
String |
VCN服务器的IP地址,仅输入类型为vcn时需填且必填 |
port |
是 |
Integer |
VCN服务器的端口号,仅输入类型为vcn时需填且必填 |
username |
是 |
String |
VCN服务器的账号名,仅输入类型为vcn时需填且必填,需要满足正则表达式^.{1,100}$。 |
password |
是 |
String |
VCN服务器的与账号对应的密码,仅输入类型为vcn时需填且必填,需要满足正则表达式^.{1,1000}$。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
obs |
否 |
TaskOutputObs object |
输出为obs类型时的配置信息 |
dis |
否 |
TaskOutputDis object |
输出为dis类型时的配置信息 |
webhook |
否 |
TaskOutputWebhook object |
输出为webhook类型时的配置信息 |
event_center |
否 |
Boolean |
输出方式是否选择为事件中心,选择 true或者1表示是,默认为false |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
bucket |
是 |
String |
OBS桶名,选用obs类型输出时必填,校验规则:(pattern:“^[a-z0-9](?!.[-.][-.].)([a-z0-9-.]{1,61})[a-z0-9]$”) |
path |
是 |
String |
OBS的路径,选用obs类型输出时必填,校验规则:^(?![/.\s])(?!.//.)([^:*?"<>|\]{0,1023})(?<![.\s])$ |
data_category |
否 |
Array of strings |
作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stream_name |
是 |
String |
DIS流名称,选用dis类型输出时必填,校验规则:^[-A-Za-z0-9_]{1,64}$。 |
data_category |
否 |
Array of strings |
任务输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 【例如创建边缘人脸任务API中,输出结果支持data_category参数,取值范围为[FacaImage,OriginImage],分别表示是否发送人脸图和原始图】 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
tasks |
Array of tasks objects |
任务创建成功生成的任务ID列表 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息描述 |
detail |
String |
错误详情 |
params |
Array of strings |
错误参数列举 |
reason |
String |
错误原因 |
advice |
String |
建议 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息描述 |
detail |
String |
错误详情 |
params |
Array of strings |
错误参数列举 |
reason |
String |
错误原因 |
advice |
String |
建议 |
请求示例
- 创建输入类型为“video_source”,输出类型为“webhook”,算法版本为1.1,没有任务启动参数,不保存作业模板的请求体
/v2/{project_id}/services/{service_name}/tasks { "name" : "Test", "input" : { "type" : "video_source", "data" : [ { "video_source_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx" } ] }, "output" : { "webhook" : { "url" : "http://test", "headers" : { "a" : "a" } } }, "config" : { "common" : { } }, "service_version" : "1.1", "is_saved_as_template" : false }
- 兼容IVA的老接口,采用此请求体
/v2/{project_id}/services/{service_name}/tasks { "name" : "test-alg-819", "input" : { "type" : "url", "data" : [ { "url" : "https://iuwhediue-input.com", "index" : 0 } ] }, "output" : { "webhook" : { "url" : "https://iuwhediue-output.com", "headers" : { "AA" : "AA" } } }, "config" : { "common" : { "viewpoint" : 1 } }, "service_version" : "3.0", "is_saved_as_template" : false, "resource_order_id" : "029b34a69efd48769215e429deff0cec" }
- 创建定时任务,若存在相邻两天前一天结束时间为23:59:00,第二天开始为00:00:00,则为跨天任务,保持运行中状态。
/v2/{project_id}/services/{service_name}/tasks { "name" : "test-alg-819", "schedule" : { "type" : "weekly", "timezone" : "+08:00", "days_of_week" : [ 1, 2, 3, 4, 5, 6, 7 ], "periods" : [ [ ], [ ], [ ], [ ], [ { "begin_at" : "22:15:00", "end_at" : "23:59:00" } ], [ { "begin_at" : "00:00:00", "end_at" : "23:59:00" } ], [ { "begin_at" : "22:15:00", "end_at" : "23:59:00" } ] ] }, "input" : { "type" : "url", "data" : [ { "url" : "https://iuwhediue-input.com", "index" : 0 } ] }, "output" : { "webhook" : { "url" : "https://iuwhediue-output.com", "headers" : { "AA" : "AA" } } }, "config" : { "common" : { "viewpoint" : 1 } }, "service_version" : "3.0", "is_saved_as_template" : false, "resource_order_id" : "029b34a69efd48769215e429deff0cec" }
响应示例
状态码: 200
任务创建成功
{ "tasks" : [ { "id" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } ] }
状态码
状态码 |
描述 |
---|---|
200 |
任务创建成功 |
400 |
请求错误 |
500 |
内部错误 |