更新时间:2025-09-15 GMT+08:00

上传概述

使用场景

您可以根据需要上传文件或者文件夹至已有的OBS桶。待上传的文件可以是任何类型,包括但不限于文本文件、图片、视频等。

上传文件时,如果您需要将文件归类处理,可以先新建文件夹,然后将相关的文件上传到文件夹中。新建文件夹的详情请参见创建文件夹

虽然OBS服务支持您将对象上传到指定区域的桶里,但是华为云并不感知您对象的具体内容。如果您对象上传行为涉及跨境传输,请您确保使用本服务符合所适用的法律法规要求。

上传方式介绍

上传方式

使用场景

单个文件大小约束

对象类型

支持的使用方式

简单上传(PUT上传)

适用于上传小文件,操作简单。

<=5 GB

Normal

控制台、OBS Browser+、obsutil、SDK、API

说明:

为了提高您上传对象的成功率,对象大于8M时控制台会自动使用多段上传,大于50M时OBS Browser+、obsutil会自动使用断点续传。

表单上传(POST上传)

适用于在HTML网页中上传小文件,且可以通过表单的PostPolicy策略限制上传文件的大小、文件类型等。

<=5 GB

Normal

API、SDK

多段上传

适用于上传大文,需要调用初始化段上传段合并段多个接口,将文件分割成多个分段并行上传,然后在上传完成后合并分段得到完整对象。

如果上传段的过程中,因为网络不稳等原因导致上传段失败,需要手动记录失败的分段并重新上传

<=48.8 TB

Multipart

控制台(小于5 GB)、OBS Browser+、obsutil、SDK、API

断点续传

适用于在网络不稳的情况下上传大文件,与分段上传相同也是将对象拆分成多个分段并行上传,区别是客户端能自动记录上传进度,然后在上传中断后自动从上次停止的地方继续上传

<=48.8 TB

Multipart

OBS Browser+、obsutil、SDK

追加写对象

如果对象末尾需要持续添加数据,例如视频流,可以使用追加写对象功能。使用追加写接口生成的Appendable对象,对象末尾允许直接追加内容,且每次追加上传的数据都能够即时可读。

每次追加上传的长度<=5G

Appendable

API、SDK

授权第三方上传

适用于授权第三方上传文件的场景,具有上传权限的用户使用自己的AK/SK生成具有时效性的预签名URL,在URL有效期内匿名用户无需密钥即可使用URL安全上传对象,过期后自动失效。

<=5 GB

Normal

需要计算签名并构造URL

批量上传

仅版本号为“3.0”的桶支持批量上传,桶版本号的查看方法请参见OBS 2.0和OBS 3.0的判断方法。OBS各使用方式针对批量上传的支持情况如表所示:

使用方式

是否支持批量上传

批量上传数量限制

单批对象总大小限制

控制台

部分区域支持,以控制台实际支持情况为准

100个

<=5 GB

OBS Browser+

500个

无限制

obsutil

无限制

无限制

API

没有专门的批量上传接口,需要编程实现

NA

NA

SDK

NA

NA

对象类型

对象类型

上传类型

说明

Normal

通过简单上传(PUT上传)表单上传(POST上传)生成的对象类型。

未开启或暂停多版本控制:同名对象多次操作,后一次完成上传的文件将覆盖前一次上传的文件,且只保留最后调用该接口完成上传的文件。

已开启多版本控制:同名对象多次操作,每次操作都会对应一个版本号进行保存。最后一次操作保存的版本号,为最新版本。

Multipart

通过多段上传生成的对象类型。

未开启或暂停多版本控制功能:合并段时,后一次完成合并的完整文件将覆盖前一次合并的同名文件,且只保留最后调用该接口完成合并的完整文件。

已开启多版本控制功能:合并段完成后,每次操作都会对应一个版本号进行保存。最后一次操作保存的版本号,为最新版本。

Appendable

通过追加写对象生成的对象类型。

可直接在对象后面追加上传内容。

与多版本结合

  • 未开启多版本控制功能的情况下:
    • 如果新上传的文件和桶内文件重名,则新上传的文件会自动覆盖老文件,且不会保留老文件的ACL等信息;
    • 如果新上传的文件夹和桶内文件夹重名,则上传后会将新老文件夹合并,合并过程如遇重名文件,会使用新上传的文件夹中的文件进行覆盖。
  • 开启了多版本控制功能的情况下:

    如果新上传的文件和桶内文件重名,则会在老文件上新增一个版本。关于多版本的详细介绍请参见多版本控制

相关文档

  • 如果您有大量的数据(大于48.8TB)需要上传至OBS,可以参考搬迁本地数据至OBS
  • 您可以通过设置桶配额限制单个桶上传对象的总容量,详情请参见管理桶配额