云服务器内容精选

  • 系统级约束限制 支持扩展名为avi、wmv、mpg、mpeg、mp4、mov、m4v、mkv的视频文件。 不支持OBS桶上经过KMS加密后的视频。 单个视频大小不能超过4GB。 支持常见的帧率(fps):23.97、24、25、29.97、30、50、60。 支持H.264、H.265、MPEG2、MPEG4、VC1、VP8、VP9编码格式视频的GPU解码。 编码格式 最大分辨率 MPEG2 1920*1080 MPEG4 1920*1080 VC1 2048*1024 H.264 1920*1080 H.265 1920*1080 VP8 1920*1080 VP9 1920*1080
  • 使用流程 通过管理控制台使用视频分析服务时,使用流程如下: 准备视频数据 开通服务 创建作业 获取作业结果 具体操作请参见《视频分析服务用户指南》。 使用第三方系统调用API使用视频分析服务时,流程如下: 开通服务 获取请求认证和项目ID 调用API 获取作业结果 具体操作请参见《视频分析服务API参考》。 在使用API调用服务之前,您需要先登录管理控制台开通服务,服务开通一次即可,后续使用时无需再开通。
  • 子服务 目前视频分析服务提供如下子服务。 表1 VAS子服务列表 服务 说明 产品优势 视频内容分析 VCR 视频内容分析(Video Content Recognition)提供多维度的视频分析算法,支持对视频中的多目标检测、识别、分析等能力,在多种场景下准确高效地输出视频结构化信息,为用户构建强大、全面、便捷的视频内容分析能力。 高性价比 除云上视频文件和视频流外,还支持边缘节点的视频流接入与处理,大幅降低业务接入成本。 稳定可靠 支持大规模、高并发、低延时的实时视频分析能力,支持不同天气条件、不同的摄像头角度等复杂场景,稳定运行。 丰富高效 支持人物、才艺、服饰风格、质量等视频场景和内容的个性化定制与分类识别。 多维分析 从声音、动作、图像、文字等多维度分析视频,多方位深度理解视频内容,输入视频即可得到专业的分析结果。 视频审核VCM 视频审核(Video Content Moderation)用于过滤违规内容,提升视频审核效率。 审核准确 采用深度卷积神经网络算法与海量训练样本,生成的预测模型识别精度高。 简单易用 提供符合RESTful的API访问接口,使用方便,用户的审核系统可快速集成。 审核范围广 覆盖多种违规风险审核,保障视频合乎规范发布。 多维审核 支持从声音、图像、文本等多维度审核视频,过滤风险,有效提高审核效率。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 作业的名称,必填。仅能包含汉字、字母、数字、中划线和下划线,长度介于1~100之间。 description 否 String 作业的描述,选填。长度不超过500。 最小长度:0 最大长度:500 service_version 是 String 作业对应服务的版本号,必填。由两个介于0~999的整数和一个点号分隔符组成。 edge_pool_id 否 String 作业运行指定的边缘运行池ID,仅边缘场景需填且必填。 resource_order_id 否 String 作业指定的算法能力包包周期订单ID,仅部分服务需填且必填。 timing 否 TaskTiming object 计划任务的配置项,选填。计划任务不支持obs输入,对于url输入则仅支持rtmp和rtsp两种形式。 input 是 TaskInput object 作业的输入配置,必填。 output 是 TaskOutput object 作业的输出配置,至少需要配置一项输出方式。 service_config 否 TaskServiceConfig object 作业运行时指定的算法配置参数,部分服务需填且必填。
  • 响应参数 状态码: 201 表3 响应Body参数 参数 参数类型 描述 [数组元素] Array of CreateResponseBody objects 创建的服务作业ID的集合。 表4 CreateResponseBody 参数 参数类型 描述 id String 创建的服务作业ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 服务内部错误码。 error_msg String 错误信息。 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 服务内部错误码。 error_msg String 错误信息。
  • 响应示例 状态码: 201 创建服务作业成功。 [ { "id" : "53e4xxxxxxxxxxxxxxxxxxxxxxb55b3e"} ] 状态码: 400 请求不合法。 { "error_code" : "IVA.0004", "error_msg" : "The request param is invalid. The field [input] is required and cannot be empty."} 状态码: 404 指定的服务不存在。 { "error_code" : "IVA.0005", "error_msg" : "The requested resource is NOT found. Service face-detect/1.0 not found."}
  • 请求示例 创建一个OBS为输入,OBS为输出的视频审核服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/video-moderation/tasks{ "name": "task-test", "description": "description", "service_version":"1.2", "input": { "type": "obs", "data": [ { "bucket": "obs-iva", "path": "input/demo.mp4" } ] }, "output": { "obs": { "bucket": "obs-iva", "path": "output/" }, "hosting": {} }, "service_config": { "common": { "frame_interval": 5, "upload": "false", "use_ocr": "true", "use_sis": "true" } }} 创建一个EdgeCamera为输入,DIS为输出的普通边缘服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/face-detect/tasks{ "name" : "task-test", "description" : "hello world", "service_version" : "1.0", "edge_pool_id" : "549cxxxxxxxxxxxxxxxxxxxxxx77a2a5", "input" : { "type" : "edgecamera", "data" : [ { "id" : "dd8xxxxx-xxxx-xxxx-xxxx-xxxxxx2f5bcb" } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "service_config" : { "common" : { "image_compression_ratio" : 90, "render_result_sw" : 0, "video_sampling_interval" : 1 } }} 创建一个EdgeCamera为输入,DIS为输出的,每天北京时间早8点到晚8点执行的计划边缘服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/face-detect/tasks{ "name" : "task-test", "description" : "hello world", "service_version" : "1.0", "edge_pool_id" : "549cxxxxxxxxxxxxxxxxxxxxxx77a2a5", "input" : { "type" : "edgecamera", "data" : [ { "id" : "dd8xxxxx-xxxx-xxxx-xxxx-xxxxxx2f5bcb" } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "timing" : { "type" : "daily", "timezone" : "+08:00", "periods" : [ { "begin_at" : "08:00:00", "end_at" : "20:00:00" } ] }, "service_config" : { "common" : { "image_compression_ratio" : 90, "render_result_sw" : 0, "video_sampling_interval" : 1 } }}
  • 基本概念 帐号 用户注册华为云时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看帐号ID和用户ID。通常在调用API的鉴权过程中,您需要用到帐号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 父主题: 使用前必读
  • 定时策略参数 表1 timing 响应参数结构 参数 参数类型 描述 type String 计划任务的类型,使用计划任务时必填。可选类型分别为once(仅执行一次),daily(每日执行),weekly(每周执行),monthly(每月执行)。 枚举值: once daily weekly monthly timezone String 用户所处的时区,使用计划任务时必填。精确到分钟。 days_of_week Array of integers 作业会在一周的哪几天执行,当且仅当计划任务类型为weekly时,该字段需填且必填。1~7分别指代星期一至星期日。 最小值:1 最大值:7 days_of_month Array of integers 作业会在一个月的哪几天执行,当且仅当计划任务类型为monthly时,该字段需填且必填。1~31分别指代一个月中的1日至31日。 最小值:1 最大值:31 date String 作业的执行日。当且仅当计划任务类型为once且为频率模式时,该字段需填且必填。格式形如yyyy-MM-dd。 periods Array of periods objects 时间段模式配置。和frequency字段二选一,不可共存。时间段模式下,至少需指定一个时间段。 frequency frequency object 频率模式配置。和periods字段二选一,不可共存。 表2 timing periods 响应参数结构 参数 参数类型 描述 begin_at String 单个时间段执行的起始时间,和end_at需成对出现。计划任务类型为once时,格式为yyyy-MM-ddThh:mm:ss,其余计划任务类型时,格式为hh:mm:ss。 end_at String 单个时间段执行的结束时间,和begin_at需成对出现。计划任务类型为once时,格式为yyyy-MM-ddThh:mm:ss,其余计划任务类型时,格式为hh:mm:ss。 表3 timing frequency 响应参数结构 参数 参数类型 描述 interval Integer 相邻两次执行之间的间隔,频率模式必填。取值范围在5~720之间,单位:分钟。 最小值:5 最大值:720 duration Integer 单次执行的运行时长,频率模式必填。取值范围在5~720之间,单位:分钟。 最小值:5 最大值:720 begin_at String 单日内执行的起始时间,选填。格式形如hh:mm:ss。 end_at String 单日内执行的结束时间,选填。格式形如hh:mm:ss。 父主题: 作业响应参数
  • 输出参数 表1 output 响应参数结构 参数 参数类型 描述 obs TaskOutputObs object 输出为obs类型时的配置信息 dis TaskOutputDis object 输出为dis类型时的配置信息 webhook TaskOutputWebhook object 输出为webhook类型时的配置信息 hosting TaskOutputHostingForDisplay object 输出为hosting类型时的配置和展示信息 localpath TaskOutputLocalpath object 输出为localpath类型时的配置信息 表2 output obs 响应参数结构 参数 参数类型 描述 bucket String OBS桶名,选用obs类型输出时必填。 最大长度:63 path String OBS的路径,选用obs类型输出时必填。 最大长度:1023 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表3 output dis 响应参数结构 参数 参数类型 描述 stream_name String DIS流名称,选用dis类型输出时必填。 最大长度:64 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表4 output webhook 响应参数结构 参数 参数类型 描述 url String 结果回调地址,选用webhook类型输出时必填。 最大长度:1000 headers Object 结果回调时需要携带的请求头,选用webhook类型输出时必填。整体呈json格式,以键值对的形式表示请求头和取值,至少1组,至多10组。 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表5 output hosting 响应参数结构 参数 参数类型 描述 obs Array of obs objects 作业所有结果文件所在的OBS桶和路径 result_json_overdue_at Long 作业结果文件的过期时间 data_category Array of strings 作业输出数据类别的列表,当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据,部分服务需要 表6 output hosting obs 响应参数结构 参数 参数类型 描述 bucket String 结果文件result.json所在的OBS桶 最大长度:63 path String 结果文件result.json所在的路径 最大长度:1023 表7 output localpath 响应参数结构 参数 参数类型 描述 mount_source_path String 挂载的源路径,存放作业运行结果的路径,选用localpath类型输出时必填。必须为linux路径,且为选用的边缘运行池挂载路径的子路径,长度不超过255。 最大长度:255 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 父主题: 作业响应参数
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表1 请求URI 参数 说明 URI-scheme 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 承载REST服务端点的服务器域名或IP,不同服务在不同区域时,对应Endpoint不同,可以从终端节点中获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如,您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 为查看方便,服务每个具体API的URI,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,cn-north-4为project的name,获取方法请参见获取用户名、帐号名和项目name。 scope参数定义了Token的作用范围,取值为project或domain,示例中取值为project,表示获取的Token仅能访问指定project下的资源,取值为domainname时,表示获取的token可以访问指定帐号下所有资源,scope参数的详细说明,请参见获取用户Token。 project name:在“我的凭证”页面,项目列表中“项目”列的值就是“project name”,具体获取方式请参见获取用户名、帐号名和项目name。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokensContent-Type:application/json{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "username", "password": "**********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "cn-north-4" } } }} 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token,返回的响应消息头中“x-subject-token”的值,就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 需要添加到请求中的公共消息头如表3所示。 表3 公共请求消息头 参数名 说明 是否必选 示例 Content-type 消息体的类型(格式),默认取值为“application/json”。 是 application/json Content-Length 请求body长度,单位为Byte。 POST/PUT请求必填。GET不能包含。 3495 X-Project-Id project id,用于不同project取token。 否 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token,也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 否 使用Token认证时必选。 - X-Sdk-Date 请求的发生时间,格式为(YYYYMMDD'T'HHMMSS'Z')。 取值为当前系统的GMT时间。 否 如果使用ak/sk做接口认证的时候,那么此字段必须设置;如果使用PKI token的时候,不必设置。 20190307T101459Z Authorization 签名认证信息。 该值来源于请求签名结果,使用AK/SK进行加密签名的时候需要。 类型:字符串 默认值:无 否 使用AK/SK认证时必选。 SDK-HMAC-SHA256 Credential=ZIRRKMTWPTQFQI1WKNKB/20150907//ec2/sdk_request, SignedHeaders=content-type;host;x-sdk-date, Signature=55741b610f3c9fa3ae40b5a8021ebf7ebc2a28a603fc62d25cb3bfe6608e1994 Host 请求的服务器信息,从服务API的URL中获取。 值为hostname[:port]。 端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时必选。 code.test.com or code.test.com:443 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。AK/SK认证的详细说明请参见API签名指南。 例如,对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
  • 状态码 状态码 编码 状态说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录