创建边缘船只入侵检测作业
功能介绍
该接口用于创建边缘船只入侵检测作业。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/services/ship-intrusion-edge/tasks
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| project_id | 是 | String | 用户项目ID。获取方法参见获取项目ID和名称。 | 
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token,获取方法参见认证鉴权。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| name | 是 | String | 作业名称,只能由中文、字母(a~z A~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100]。 | 
| description | 否 | String | 作业描述信息,最大长度为500字符长度。 最小长度:0 最大长度:500 | 
| schedule | 否 | TaskSchedule object | 定时任务参数,定时周期仅支持周模式。 | 
| input | 是 | TaskInput object | 作业的输入配置。 | 
| output | 是 | TaskOutput object | 作业的输出配置,至少需要配置一项输出方式。 | 
| config | 否 | ShipIntrusionServiceConfig object | 作业配置参数。 | 
| service_version | 是 | String | 服务版本号,输入需要满足正则:^[a-z0-9.]{3,32}$。 最小长度:3 最大长度:32 | 
| is_saved_as_template | 否 | Boolean | 是否把作业配置保存成模板。 | 
| resource_order_id | 否 | String | 资源订单id,与关联算法挂钩。非商用白名单的算法 就不用填,商用算法就为必填项,需要满足正则表达式^[a-z0-9-_]{4,36}$。 最小长度:4 最大长度:36 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| type | 是 | String | 计划任务的类型,使用计划任务时必填。可选类型分别为weekly(每周执行),monthly(每月执行)。 | 
| timezone | 是 | String | 用户所处的时区,使用计划任务时必填。精确到分钟。 | 
| days_of_week | 否 | Array of integers | 作业会在一周的哪几天执行,当且仅当计划任务类型为weekly时,该字段需填且必填。1~7分别指代星期一至星期日。 最小值:1 最大值:7 数组长度:1 - 7 | 
| days_of_month | 否 | Array of integers | 作业会在一个月的哪几天执行,当且仅当计划任务类型为monthly时,该字段需填且必填。1~31分别指代一个月中的1日至31日。 最小值:1 最大值:31 | 
| periods | 否 | Array<Array<>> | 时间段模式配置,指定周计划或者月计划中具体每天作业的执行时间段,至少需指定一个时间段。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| type | 是 | String | 作业的输入类型,创建时必填,编辑时video_source 模式 不支持切换为其他IVA模式的type。创建时可选类型有 obs(对象存储服务存储的文件 仅云上作业支持), url(指定的文件地址或取流地址 仅云上作业支持), edgecamera(绑定在IEF的边缘摄像头 仅边缘作业支持), restful(从自定义的流媒体服务器通过Restful接口获取流地址。云上,边缘均作业支持), vcn(VCN设备仅边缘作业支持),video_source(视频源类型), 建议使用video_source类型,其他类型为了兼容老业务,后续将废弃。 枚举值: | 
| data | 是 | Array of TaskInputData objects | 作业的输入详情,必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入,但更新时只允许填写一路输入。 
 数组长度:1 - 50 | 
| vcn | 否 | TaskInputVcn object | VCN服务器信息,仅输入类型为vcn时必填。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| video_source_id | 否 | String | 视频源id,当输入类型为video_source时必填。 | 
| stream_name | 否 | String | 视频流名称。 | 
| bucket | 否 | String | OBS桶名,当输入为obs类型时必填。 最大长度:63 | 
| path | 否 | String | OBS的路径,当输入为obs类型时必填。 最大长度:1023 | 
| url | 否 | String | url输入源的地址或者获取视频流地址的restful请求地址,当输入为url类型或者edgerestful类型时必填。长度不超过1000。 最大长度:1000 | 
| headers | 否 | Object | 获取视频流地址的restful请求携带的请求头,当输入为edgerestful类型时可选。整体呈json格式,以键值对的形式表示请求头和取值,最多允许10组。 | 
| certificate_check | 否 | Boolean | 是否需要对https请求进行证书校验,当输入为edgerestful类型时必填。取值为true或者false。 | 
| rtsp_path_in_response | 否 | String | restful请求返回的body中,视频流地址的路径,当输入为edgerestful类型时必填。长度不超过1024。 最大长度:1024 | 
| device_id | 否 | String | VCN设备ID,当输入为vcn类型时必填。 | 
| stream_type | 否 | Integer | 准备进行分析的码流,当输入为vcn类型时选填。取值范围为1~3,其中1代表主码流,2代表子码流1,3代表子码流2。 最小值:1 最大值:3 | 
| id | 否 | String | IEF挂载的边缘设备的ID,当输入为edgecamera类型时必填。 最大长度:63 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| ip | 是 | String | VCN服务器的IP地址,仅输入类型为vcn时必填。 | 
| port | 是 | Integer | VCN服务器的端口号,仅输入类型为vcn时必填。 最小值:0 最大值:65535 | 
| 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 | 是否把告警发送至事件中心,云上作业该字段有效。 缺省值:false | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| bucket | 是 | String | OBS桶名,选用obs类型输出时必填,校验规则:(pattern:“^[a-z0-9](?!.[-.][-.].)([a-z0-9-.]{1,61})[a-z0-9]$”)。 最大长度:63 | 
| path | 是 | String | OBS的路径,选用obs类型输出时必填,校验规则:^(?![/.\s])(?!.//.)([^:*?"<>|]{0,1023})(?<![.\s])$。 最大长度:1023 | 
| data_category | 否 | Array of strings | 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度:0 - 10 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| stream_name | 是 | String | DIS流名称,选用dis类型输出时必填。 最大长度:64 | 
| data_category | 否 | Array of strings | 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度:0 - 10 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| url | 是 | String | 结果回调地址,选用webhook类型输出时必填。 最大长度:1000 | 
| headers | 是 | Object | 结果回调时需要携带的请求头,选用webhook类型输出时必填。整体呈json格式,以键值对的形式表示请求头和取值,至少1组,至多10组。 | 
| data_category | 否 | Array of strings | 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 数组长度:0 - 10 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| common | 否 | ShipIntrusionCommon object | 作业运行时指定的具体的自定义配置项,由服务发布者定义。整体呈json格式,具体配置项参见相应算法服务的说明。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| image_compression_ratio | 否 | Integer | 对应控制台的界面参数“图片压缩比”。取值范围为[20, 100],默认值为90,表示图片压缩比为90%。 最小值:20 最大值:100 缺省值:90 | 
| render_result_sw | 否 | Integer | 对应控制台的界面参数“目标框渲染开关”。输出图像是否绘制告警目标边框,取值范围: 最小值:0 最大值:1 缺省值:0 | 
| render_roi_sw | 否 | Integer | 对应控制台的界面参数“检测区域渲染开关”。输出图像是否绘制检测区域,取值范围: 最小值:0 最大值:1 缺省值:0 | 
| target_roi | 是 | String | 对应控制台的界面参数“检测区域设置”。 
 | 
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| tasks | Array of TaskResponse objects | VIAS平台创建作业的作业id列表 | 
状态码: 400
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| error_code | String | 错误码。 | 
| error_msg | String | 错误信息描述。 | 
| detail | String | 错误详情。 | 
| params | Array of strings | 错误参数列举。 数组长度:0 - 1 | 
| reason | String | 错误原因。 | 
| advice | String | 建议。 | 
状态码: 500
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| error_code | String | 错误码。 | 
| error_msg | String | 错误信息描述。 | 
| detail | String | 错误详情。 | 
| params | Array of strings | 错误参数列举。 数组长度:0 - 1 | 
| reason | String | 错误原因。 | 
| advice | String | 建议。 | 
请求示例
- 
    边缘船只入侵检测作业创建,使用输入源为video_source,输出为webhook。 POST /v2/{project_id}/services/ship-intrusion-edge/tasks { "name" : "ship-intrusion-task", "description" : "ship-intrusion task test", "input" : { "type" : "video_source", "data" : [ { "video_source_id" : "xxxxxxx-xxxxxxx-xxxxxxx-xxxxx-xxxxxx" } ] }, "output" : { "webhook" : { "url" : "https://apigw.huawei.com/xxx/xxx/callback", "headers" : { "content-type" : "application/json" } } }, "service_version" : "3.0", "resource_order_id" : "840a5cf90d4a4bbaa71f251dfe8fe64e", "config" : { "common" : { "image_compression_ratio" : 90, "render_roi_sw" : 1, "render_result_sw" : 1, "target_roi" : "{\"polygons\":[{\"data\":[[84,389],[1840,349],[1824,526],[78,526]]}]}" } } }
- 
    边缘船只入侵检测作业创建,使用输入源为边缘摄像头,输出为dis。 POST /v2/{project_id}/services/ship-intrusion-edge/tasks { "name" : "ship-intrusion-task", "description" : "ship-intrusion task test", "input" : { "type" : "edgecamera", "data" : [ { "id" : "aec5857c-222f-4aa9-be39-23654e118886", "index" : 0 } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "service_version" : "3.0", "resource_order_id" : "840a5cf90d4a4bbaa71f251dfe8fe64e", "config" : { "common" : { "image_compression_ratio" : 90, "render_roi_sw" : 1, "render_result_sw" : 1, "target_roi" : "{\"polygons\":[{\"data\":[[84,389],[1840,349],[1824,526],[78,526]]}]}" } } }
- 
    边缘船只入侵检测作业创建,使用输入源为VCN,输出为dis。 POST /v2/{project_id}/services/ship-intrusion-edge/tasks { "name" : "ship-intrusion-task", "description" : "ship-intrusion task test", "input" : { "type" : "vcn", "vcn" : { "ip" : "xxx.xxx.xxx.xxx", "password" : "CQeNfcRLwyMvH77AkDBaPS+BKXdFu/1bAXtIMNTx3QPbVewjipNq06nNodxWI28I1lCUsvv2+wB1joepzynLVW3g2nz0k9vaCRDoK6=", "port" : "xxx", "username" : "testname" }, "data" : [ { "index" : 0, "stream_type" : 1, "device_id" : "07211540881586160101#f7964493ff764bbf9294d58b22e63de6" } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "service_version" : "3.0", "resource_order_id" : "840a5cf90d4a4bbaa71f251dfe8fe64e", "config" : { "common" : { "image_compression_ratio" : 90, "render_roi_sw" : 1, "render_result_sw" : 1, "target_roi" : "{\"polygons\":[{\"data\":[[84,389],[1840,349],[1824,526],[78,526]]}]}" } } }
- 
    边缘船只入侵检测作业创建,使用输入源为restful,输出为webhook。 POST /v2/{project_id}/services/ship-intrusion-edge/tasks { "name" : "ship-intrusion-task", "description" : "ship-intrusion task test", "input" : { "type" : "restful", "data" : [ { "index" : 0, "url" : "http://xxx.xxx.xxx.xxx:xxx/test/data", "certificate_check" : false, "rtsp_path_in_response" : "data/url" } ] }, "output" : { "webhook" : { "url" : "https://apigw.huawei.com/xxx/xxx/callback", "headers" : { "content-type" : "application/json" } } }, "service_version" : "3.0", "resource_order_id" : "840a5cf90d4a4bbaa71f251dfe8fe64e", "config" : { "common" : { "image_compression_ratio" : 90, "render_roi_sw" : 1, "render_result_sw" : 1, "target_roi" : "{\"polygons\":[{\"data\":[[84,389],[1840,349],[1824,526],[78,526]]}]}" } } }
响应示例
状态码: 200
创建服务作业成功。
{
  "tasks" : [ {
    "id" : "20690c67d71549c39085a3b28c18f24f"
  } ]
}
 状态码
| 状态码 | 描述 | 
|---|---|
| 200 | 创建服务作业成功。 | 
| 400 | 请求错误。 | 
| 500 | 内部错误。 | 
错误码
请参见错误码。
 
  