更新时间:2024-12-06 GMT+08:00
分享

上传概述

使用场景

您可以根据需要上传文件或者文件夹至已有的OBS桶。上传文件时,如果您需要将文件归类处理,可以先新建文件夹,然后将相关的文件上传到文件夹中。

新建文件夹的详情请参见创建文件夹

待上传的文件可以是任何类型:文本文件、图片、视频等。

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

约束与限制

大小及数量限制:

  • OBS管理控制台支持批量上传文件,单次最多支持100个文件同时上传,总大小不超过5GB。如果只上传1个文件,则这个文件最大为5GB。
  • 通过OBS Browser+和obsutil可以上传小于48.8TB的文件。OBS Browser+最多同时一次上传500个文件,obsutil没有上传文件数量限制。
  • 通过SDK或API的PUT上传、POST上传和追加写,可以上传小于5GB的文件。
  • 通过SDK或API的多段上传以及SDK的断点续传,可以上传小于48.8TB的文件。
  • 您可以通过设置桶配额限制单个桶上传对象的总容量,详情请参见管理桶配额

命名限制:

对象名命名规则详见对象键命名指导原则

批量操作限制:

支持批量上传功能需要满足以下条件:

OBS桶的版本号为“3.0”。桶版本号的查看方法请参见OBS 2.0和OBS 3.0的判断方法

文件夹上传限制:

控制台、OBS Browser+、obsutil支持直接上传文件夹,SDK和API不支持。

其他限制:

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

对象类型

对象类型

上传类型

说明

Normal

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

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

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

Multipart

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

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

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

Appendable

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

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

上传方式

上传方式

说明

流式上传(PUT上传)

当上传文件小于5GB时使用。

PUT上传需在URL中指定对象名;POST上传提交的URL为桶域名,无需指定对象名。两者的请求行分别为:

PUT /ObjectName HTTP/1.1
POST / HTTP/1.1

表单上传(POST上传)

多段上传(分段上传)

当上传文件大于5GB且小于48.8TB时使用。

详情请参见多段上传

说明:

如果您有大量的数据(大于48.8TB)需要上传至OBS,可以参考搬迁本地数据至OBS迁移第三方云厂商数据至OBS

断点续传

当上传大文件时,经常出现因网络不稳定或程序崩溃导致上传失败的情况。失败后再次重新上传不仅浪费资源,而且当网络不稳定时仍然有上传失败的风险。断点续传上传接口能有效地解决此类问题引起的上传失败,其原理是将待上传的文件分成若干个分段分别上传,不仅能在失败重传时节省资源提高效率,还因其对分段进行并发上传的机制能加快上传速度。

各个使用方式支持的情况请参见OBS是否支持断点续传功能?

增量同步上传

将本地源路径下的所有内容同步到OBS指定目标桶,使两边内容保持一致。这里的增量同步有两层含义:1)增量,依次比较源文件和目标对象,只上传存在变化的源文件;2)同步,命令执行完成后,保证本地源路径是OBS指定目标桶的子集,即本地源路径下的所有文件均能在OBS指定目标桶中找到对应对象。

详情请参见增量同步上传对象

追加写对象

追加写对象操作是指在指定桶内的一个对象尾追加上传数据,不存在相同对象键值的对象则创建新对象。

详情请参见追加写对象

授权第三方上传

当第三方用户没有上传权限的时候,可以临时授权给第三方用户,在授权有效期内实现对象上传。

详情请参见授权第三方上传

使用方式

OBS支持通过控制台、API、SDK、OBS Browser+、obsutil方式上传对象。

相关文档