
# 视频更新 - UpdateAsset
#### 功能介绍
媒资创建后，单独上传封面、更新视频文件或更新已有封面。
如果是更新视频文件，更新完后要通过[确认媒资上传](https://support.huaweicloud.com/api-vod/vod_04_0198.html)接口通知点播服务。
如果是更新封面或单独上传封面，则不需通知。
更新视频可以使用分段上传，具体方式可以参考[示例2：媒资分段上传（20M以上）](https://support.huaweicloud.com/api-vod/vod_04_0216.html)。
#### 接口约束
视频更新接口只支持更新下载失败、已取消和上传失败状态的媒资
请求Body参数的设置要求，如下所示：
- 参数video_name、cover_type、subtitles必须至少设置一个。
  
- 如果更新视频，参数video_name、video_type为必填项，不能为空值。
  
- 如果更新封面，参数cover_type为必填项，不能为空值，如果携带cover_id，则必须填0。
  
- 如果上传字幕文件，参数subtitles的id、type和language为必填项，不能为空值。
  
如果未按照上述要求设置参数，将无法正常返回接口响应消息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/VOD/doc?api=UpdateAsset)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vod/vod_04_0012.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项              | 访问级别  | 资源类型（\*为必须） | 条件键            | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | vod:asset:update | Write | assets \*   | vod:AssetLabel | -  | -      |
     
  
 
#### URI
PUT /v1.0/{project_id}/asset
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-vod/vod_04_0211.html) |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token  | 否    | String | 用户Token，使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。                                                                                 |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。                                                                                 |
   
表3请求Body参数 
| 参数         | 是否必选 | 参数类型                                                        | 描述                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| asset_id   | 是    | String                                                      | VOD分配的媒资ID，仅支持查询，不支持修改。                                                                                                                                                                                                                                                                                                                                     |
| video_md5  | 否    | String                                                      | 视频文件MD5值。建议参考《API参考》附录下生成MD5值的媒资上传和更新示例。                                                                                                                                                                                                                                                                                                                    |
| video_name | 否    | String                                                      | 视频文件名。 文件名后缀为可选。                                                                                                                                                                                                                                                                                                             |
| video_type | 否    | String                                                      | 视频文件类型。 取值为MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG、3GP、ASF、MKV                                                                                                                                                                                                                                                           |
| cover_id   | 否    | Integer                                                     | 封面ID。 取值范围：\[0,7\]。 当前只支持一张封面，只能设置为0。                                                                                                                                                                                                                                                         |
| cover_type | 否    | String                                                      | 封面图片格式类型。 取值如下： - JPG   - PNG    |
| cover_md5  | 否    | String                                                      | 封面文件的MD5值。                                                                                                                                                                                                                                                                                                                                                  |
| subtitles  | 否    | Array of [Subtitle] objects | 字幕文件信息                                                                                                                                                                                                                                                                                                                                                      |
   
 表4Subtitle 
| 参数          | 是否必选 | 参数类型    | 描述                                                  |
|:---|:---|:---|:---|
| id          | 是    | Integer | 字幕id。 取值范围：\[1,16\]。 |
| type        | 是    | String  | 字幕文件类型，目前暂只支持"SRT"和"VTT"。                           |
| language    | 是    | String  | 字幕语言类型。                                             |
| name        | 否    | String  | 字幕文件名称。                                             |
| md5         | 否    | String  | 字幕文件的MD5值。                                          |
| description | 否    | String  | 字幕描述。                                               |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数                   | 参数类型             | 描述                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| asset_id             | String           | VOD分配的媒资ID，仅支持查询，不支持修改。                                                                                                                                                                                                                                            |
| video_upload_url     | String           | 视频上传地址。 用于客户端上传不超过20MB的小视频文件（\<=20MB）。该URL中携带了临时授权信息，当文件大于20MB时，需要采用分段方式上传。 说明： 您可以使用PUT请求向"**video_upload_url** "中上传视频文件。其中，"**Content-Type**"需要根据上传的视频文件类型进行设置，如下所示：视频文件：video/视频格式，如："video/mp4"。 |
| cover_upload_url     | String           | 封面上传地址，用于上传封面文件。 说明： 您可以使用PUT请求向"**cover_upload_url** "中上传封面图片。其中，"**Content-Type**"需要根据上传的封面文件类型进行设置，如下所示：图片文件：image/图片格式，如："image/png"。                                                                                           |
| subtitle_upload_urls | Array of strings | 字幕上传地址，用于上传字幕。 说明： 您可以使用PUT请求向"**subtitle_upload_urls** "中上传字幕文件。其中，"**Content-Type**"需要根据上传的字幕文件类型进行设置，如下所示：字幕文件：application/octet-stream。                                                                                         |
   
**状态码：403**
表6响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
#### 请求示例
更新媒资
```
PUT https://{endpoint}/v1.0/{project_id}/asset
Content-Type: application/json
{
  "asset_id": "f488337c31c8e4622f1590735b134c65",
  "cover_id": "0",
  "cover_type": "JPG",
  "subtitles": [
    {
      "id": 1,
      "language": "CN",
      "type": "SRT",
      "md5": "SqcyFjJZoDZaP8oKIY6rgQ==",
      "description": "AAAAA"
    }
  ]
}
```
#### 响应示例
**状态码：200**
处理成功返回。
```
{
  "asset_id" : "f488337c31c8e4622f1590735b134c65",
  "cover_upload_url" : "https://obs.cn-north-4.myhuaweicloud.com:443/obs-vod-1/%7Bproject_id%7D/f488337c31c8e4622f1590735b134c65/cover/Cover0.jpg?AWSAccessKeyId=CBN2J**********0RCSN&Expires=1518148410&Signature=kZYh0hEos2V**********AHGyXA%3D",
  "subtitle_upload_urls" : [ "https://obs-vod-1.obs.cn-north-4.myhuaweicloud.com:443/14ce1d4437164aba8b364ce15866154e/53a018d2dc53ca07eb5a07a839205c9d/subtitle/1.srt?AWSAccessKeyId=CBN2J**********0RCSN&Expires=1534760131&Signature=kZYh0hEos2V**********AHGyXA%3D" ]
}
```
**状态码：403**
处理失败返回。
```
{
  "error_code" : "VOD.10062",
  "error_msg" : "Media asset or resource does not exist, please check."
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 处理成功返回。 |
| 403 | 处理失败返回。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-vod/ErrorCode.html)。
