You need to enable JavaScript to run this app.
导航
获取上传地址和凭证
最近更新时间:2024.10.30 17:34:38首次发布时间:2022.12.21 11:32:38

此接口用于获取媒资(音频/视频)上传地址和凭证,并创建视频信息。

使用说明

  • 成功获取上传地址和凭证后,您还需要调用 CommitUploadInfo 接口确认上传。
  • 推荐使用服务端 SDK 进行上传。
  • 完整上传流程可参考媒资上传概述

请求说明

请求地址:https://vod.volcengineapi.com?Action=ApplyUploadInfo&Version=2022-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共请求参数

参数
类型
是否必选
示例值
描述
Action
String
ApplyUploadInfo
接口名称。当前 API 的名称为 ApplyUploadInfo
Version
String
2022-01-01
接口版本。当前 API 的版本为 2022-01-01
SpaceName
String
test

空间名称。可通过以下方式获取空间名称:

  • 在视频点播控制台空间管理页面查看当前账号下所有空间的名称。
  • 调用 ListSpace 接口获取当前账号下所有空间的名称。
SessionKey
String
eyJleHRyYSI6InZpZ******YwODc4Njc1NTFcdTAwMjczdpMCJ9
上一次请求返回的会话 key。在重试时建议携带此参数,视频点播服务端会参考该值进行再次选路。
FileSize
Double
4301565

文件大小,单位为字节。

注意

ClientNetWorkMode 参数为 vpc-inner 时,此参数必填。

FileType
String
media

文件类型。上传素材时,您可以根据素材实际类型选择。取值如下:

  • media:音视频。支持素材和非素材。
  • image:图片。仅支持素材。
  • object:其它类型。支持素材和非素材。

说明

上传音视频时,FileType 默认为 media,您无需传入。

FileName
String
example/123.mp4

文件路径,即文件在视频点播存储服务中的存储位置,等同于传统对象存储的对象键(ObjectKey)概念。您可根据业务需求自定义文件路径。最大不超过 1024 个字符。

说明

  • 文件路径必须携带文件后缀,例如 .mp4。不强制要求携带文件前缀。
  • 具体的字符规则,请见文件命名通用字符规则
  • 设置 FileName 后, 当 FileName 相同时,有文件覆盖的风险。您需确保不同文件的 FileName 不同。
  • 传入 FileName 后,不需要再传入 FileExtension 参数。
FileExtension
String
.mp4

文件后缀,即点播存储中文件的类型。

说明

  • 传入 FileExtension 后,不需要再传入 FileName 参数。视频点播将生成 32 位随机字符串,和您传入的 FileExtension 共同拼接成文件路径。
  • 文件后缀必须以 . 开头,不超过 8 位。
StorageClass
Integer
1

媒资文件存储类型。取值如下:

  • 1:(默认)标准存储。
  • 2:归档存储。
  • 3:低频存储。
ClientNetWorkMode
String
vpc-inner

客户端网络环境。如果您的服务部署在火山引擎私有网络 VPC 环境中,需要在内网向视频点播服务上传媒资,可将此参数设为 vpc-inner

注意

  • 视频点播默认存储桶地域为华北cn-beijing,请确保您的 VPC 与该地域相通。
  • ClientNetWorkMode 参数为 vpc-inner 时,FileSize 参数必填。
UploadHostPrefer
String
vod

上传域名偏好。默认情况下按照视频点播控制台上传存储设置中设置的默认规则。取值如下:

  • dcdn:搭配使用全站加速(DCDN)产品,实现上传加速,保障稳定性。您需要按照跨地域上传加速文档进行配置。视频点播上传服务将下发 DCDN 自定义域名作为主上传域名,下发点播上传域名作为备上传域名。
  • vod:视频点播上传服务将下发点播上传域名作为上传域名。

返回参数

下表仅列出本接口特有的返回参数。更多信息请见公共返回参数

参数
类型
示例值
描述
Data
Object
-
返回数据。
UploadAddress
Object
-
上传信息。
SessionKey
String
eyJleHRyYSI6InZpZGM9Ym9******YwODc4Njc1NTFcdTAwMjczdpMCJ9
一次上传会话 key,上传完成上报时使用该值,类似于 HTTP 协议的 cookie 机制。
StoreInfos
Object[]
-
存储信息。
Auth
String
tos-v-da******b686cc06f489098
文件上传凭证。
StoreUri
String
SWT46O******iNjg2Y2MwNmY0ODkwOTg=
文件存储地址。
UploadHosts
String[]
-
上传域名列表,可以用于客户端容灾、并行上传等。
UploadHeader
Object[]
-
分片上传时的 HTTP Header。
Key
String
StorageClass
上传时 Header 需要携带的 Header Key。
Value
String
archive
上传时 Header 需要携带的 Header Value。
VpcTosUploadAddress
Object
-
火山引擎私有网络 VPC 环境上传信息。
PutUrl
String
https://tos.xxx
直接上传 URL
UploadMode
String
direct

上传模式,取值如下:

  • direct: 直接上传
  • part: 分片上传
PutUrlHeaders
JSONMap
-
直接上传 Headers
PartUploadInfo
Object
-
分片上传信息
PartSize
Long
209715200
上传分片大小,默认为 200 MB
PartPutUrls
String[]
["https://tos.xxx","https://tos.yy"]
分片上传 URL
CompletePartUrl
String
https://tos.xxx
合并分片 URL
CompleteUrlHeaders
JSONMap
-
分片上传 Headers

请求示例

https://vod.volcengineapi.com?Action=ApplyUploadInfo&Version=2022-01-01&SpaceName=yourSpaceName&SessionKey=&FileSize=&FileType=&FileName=&FileExtension=&StorageClass=

返回示例

{
  "ResponseMetadata": {
    "RequestId": "2020110***0590B0006DE",
    "Action": "ApplyUploadInfo",
    "Version": "2022-12-01",
    "Service": "vod",
    "Region": "cn-north-1"
  },
  "Result": {
    "Data": {
      "UploadAddress": {
        "StoreInfos": [
          {
            "StoreUri": "tos-v-da******b686cc06f489098",
            "Auth": "SWT46O******iNjg2Y2MwNmY0ODkwOTg="
          }
        ],
        "UploadHosts": [
          "tob-upload-x.snssdk.com"
        ],
        "UploadHeader": [
          {
            "Key": "StorageClass",
            "Value": "archive"
          }
        ],
        "SessionKey": "eyJleHRyYSI6InZpZGM9Ym9******YwODc4Njc1NTFcdTAwMjczdpMCJ9",
        "FlushUploadResult": {}
      }
    }
  }
}

错误码

下表列举了本接口特有的错误码。如需了解更多错误码,详见视频点播公共错误码

状态码错误码错误信息说明
400InvalidParameter.InvalidAccessKeyError-AK 错误。
400InvalidParameter.InvalidParamError-参数错误,包括 Session 的各个部分错误。
400InvalidParameter.UserNotSupportTosError-账号配置错误。
429RequestLimitExceeded.TooManyRequestError-请求超过上限。
400InvalidParameter.InvalidSpaceError-Space 填写错误。
404ResourceNotFound.VideoNotFoundError-未找到对应视频。
400InvalidParameter.InvalidTopAccountError-账号无权限。
403RequestForbidden.AccessIsRestricted-账号访问受到限制。
500InternalError.SaveDBError-内部错误。
500InternalError.RunFunctionError-内部错误,执行 Function 时失败。
500InternalError.GetSignError-内部错误,获取上传地址签名失败。
500InternalError.RunPluginError-内部错误,运行插件失败。
500InternalError.InternalError-内部错误。

服务端 SDK

点播 OpenAPI 提供了配套的服务端 SDK,支持多种编程语言,帮助您实现快速开发。建议使用服务端 SDK 来调用 API,此 API 各语言调用的示例代码,请参考如下: