完成上传
更新时间:2024-12-17
VOD不提供直接创建媒资的API接口,而是用申请上传、上传文件、完成上传三步创建法完成创建:
- 通过申请上传获取sessionKey、上传链接;
- 通过上传链接上传音视频文件;
- 通过完成上传通知VOD服务文件上传完毕,VOD生成媒资。
通过本接口可以通知VOD服务文件已经上传完毕,VOD将会生成唯一的媒资ID。
请求结构
POST /v2/medias/complete_upload HTTP/1.1
connection: keep-alive
host: vod.bj.baidubce.com
content-type: application/json
x-bce-request-id: <bce-request-id>
x-bce-date: <utc-date-string>
authorization: <bce-authorization-string>
{
// 请求参数
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
sessionKey | string | 是 | RequestBody参数 | 临时上传key,在申请上传时获取 |
isMultipartUpload | string | 否 | RequestBody参数 | 是否是分片上传 |
etags | string[] | 否 | RequestBody参数 | 文件的版本标识,在上传分片文件到BOS时可从相应头获取,isMultipartUpload为true是必须指定 |
categoryId | string | 否 | RequestBody参数 | 分类ID,用于设置媒资分类 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数 | 类型 | 描述 |
---|---|---|
mediaId | string | 媒资ID,媒资的唯一标识,开发者可通过 mediaId 查询指定媒资的详细信息 |
示例
完成上传(简单上传)
请求内容
POST /v2/medias/complete_upload HTTP/1.1
host: vod.bj.baidubce.com
accept: */*
connection: keep-alive
content-type: application/json
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
x-bce-date: 2024-03-24T13:08:44Z
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2024-03-24T13:08:44Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
{
"sessionKey": "ZEcxd0wyVm9jblIwTlhCemNYSnphbWxsWXpkNFpXbDJMMlZ0WTNOM1pETnhjVEUyZHpabWRHdGlNelJrTG0xd05BPT1fX1pHVnRidz09"
}
返回内容
HTTP/1.1 200 OK
Transfer-Encoding: chunked
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
Cache-Control: no-cache
Date: Tue, 24 Mar 2024 13:08:44 GMT
Content-Type: application/json;charset=UTF-8
{
"mediaId": "mda-emcvg7qrib0xq2y5"
}
完成上传(分片上传)
请求内容
POST /v2/medias/upload HTTP/1.1
host: vod.bj.baidubce.com
accept: */*
connection: keep-alive
content-type: application/json
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
x-bce-date: 2024-03-24T13:08:44Z
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2024-03-24T13:08:44Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
{
"sessionKey": "ZEcxd0wyVm9jblIwTlhCemNYSnphbWxsWXpkNFpXbDJMMlZ0WTNZMGMyY3ljVEZ4WWpSaVpURnpPR1YyTG0xd05BPT1fX1pHVnRidz09X19PVEkwTTJabVl6VmhNbU5tWXpaaE5HSmpZemRpT1dVNE5ERXpaalJpWVdKQg==",
"etags": [
"ac71b3427eee9461f16b552cc85d0334",
"247cdd2cb2e5765a8f85799959ea11dc",
"c49456c5d76e2d141a1f0d1e221f25bb",
"0df12352e5bf046fa59e971d0c4c9722",
"8e0f858db29fcefc0f8749f2d8cf7fcf",
"0cf3988a4f068ece8f4d48349e8a0cd0",
"d1eb02748aa6639436df37e3bc5562eb",
"a0bd82db71c0a91c29101d573a6beff8",
"4465bd610b59abce5b22ddf7db1565fb",
"a52d0331e51eb3f83ee66b08f7b739cf"
],
"isMultipartUpload": true
}
返回内容
HTTP/1.1 200 OK
Transfer-Encoding: chunked
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
Cache-Control: no-cache
Date: Tue, 24 Mar 2024 13:08:44 GMT
Content-Type: application/json;charset=UTF-8
{
"mediaId": "mda-emcvg7qrib0xq2y5"
}
错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码。
错误码 | 错误信息 | HTTP状态码 | 描述 |
---|---|---|---|
IllegalMediaSessionKey | Media session key xxx is illegal | 400 Bad Request | 非法的sessionKey |
MediaSourceFileNotFound | Media source file not found with session key : xxx | 404 Not Found | 媒资文件未找到 |
MultipartEtagsMissing | multipart etags missing for media mda-xxx | 400 Bad Request | 缺少分片上传etags标识 |
MediaCategoryNotFound | category not found: xxx | 404 Not Found | 分类不存在 |