1. 对象管理

1.1. 对象概述

在对象存储中,每个文件对象都由对象键(Key)、数据值(Value)、和对象元数据(Metadata)组成。

  • 对象键(Key):对象在Bucket中的唯一标识。
  • 数据值(Value):上传的对象大小。在控制台中上传对象最大支持 20MB;API普通上传最大支持1G,用户可根据对象大小选择不同上传方式,将本地任意类型的文件上传至Bucket中。
  • 对象元数据(Metadata):文件的属性描述,可以在上传对象时对其进行设置。您上传对象后,如需修改对象元数据,您只能创建对象副本并设置元数据。

对象键(Key)

Key是对象的名字,所在Bucket下的唯一标识。Key的名称是一串 Unicode 字符,它的 UTF-8 编码长度最大为 1 024 个字节。

命名规则:

虽然您可以在对象键名称中使用任何 UTF-8 字符,但是以下键命名最佳做法有助于确保与其他应用程序的最大兼容性:

  • 数字、大小写字母:0~9,A~Z,a~z
  • 可用特殊字符: ! 、 - 、 _ 、 . 、 *

有效键示例:

  • new-organization
  • new.great_photos-2018/01/mine.jpg
  • videos/2018/work/video01.wmv

注意:如您上传的文件或文件夹命名中带有中文,则中文部分将按照 URL Encode 规则转化为百分号编码。例如:将名称为 文档.doc 的文件上传到Bucket根目录 ,则对象键为:%E6%96%87%E6%A1%A3.doc

对象元数据(Metadata)

对象元数据是对上传到Bucket的文件的属性描述,分为两种:HTTP标准属性(HTTP Headers)和 User Meta(用户自定义元数据)。

  • HTTP标准头支持:
HTTP标准头 说明
Cache-Control 文件的缓存机制
Content-Type 文件类型
Content-Disposition 下载时的名称展示
Expires 用来控制缓存的失效日期
Content-Encoding 文件的编码格式
Content-Language 文件内容的语言编码
  • User Meta自定义元数据

自定义元数据是对象的可自定义参数,以“x-oss-”作为前缀,如“x-oss-data”、“x-oss-acl”。

元数据定义规则:

  • 使用小写存储用户定义的元数据。使用 REST 和 UTF-8 时或通过 POST 基于浏览器的上传时,每个名称、值对都必须符合 US-ASCII

  • PUT 请求头中,用户定义的元数据的大小限制为 2 KB。用户定义的元数据是一组键值对,通过计算每个键和值的 UTF-8 编码中的字节总数来测量用户定义的元数据的大小。

注意:自定义源数据不支持设为“x-oss-security-token”、“x-oss-delete-bucket”、“x-oss-id-2”、“x-oss-version-id”。

1.2. 上传文件

上传文件操作是指在指定的Bucket内增加一个对象,执行该操作需要用户拥有Bucket的写权限。

同一个Bucket中存储的文件,对象键必须是唯一的。如果上传了相同名称的文件,则新上传的文件将进行覆盖原有文件。

开发者可选择以下方式完成文件上传:

普通上传

普通上传指的是用户使用对象存储 API中的Put Object方法上传单个Object,可以适用在任何一次HTTP请求交互即可完成上传的场景,比如小文件的上传。

功能使用

控制台使用,参阅 控制台操作-上传文件 文档。 API使用,参阅 PUT Object文档说明。

注意事项:

  • 文件大小:不能超过20M。
  • 文件名称必须遵循对象键命名规则。
  • 普通上传使用的是单次HTTP请求,Object过大会导致上传时间长。请在上传时间内保持网络通常以免超时或断开连接导致上传是吧。可以考虑断点续传上传(分片上传)。当文件大于20M时,这种情况下只能使用断点续传上传(分片上传),具体参考断点续传上传。

断点续传(分片上传)

断点续传适合于在弱网络或高带宽环境下上传较大的对象。您可以自行切分对象并分别调用 API 上传各个分块。

1.3. 下载文件

拥有对象读权限的用户可以执行下载操作,返回信息会包含对象内容和对象的元数据信息

简单下载文件

简单下载即下载已经上传的文件(Object),Object下载是使用HTTP的GET请求来完成的。

功能使用

控制台使用,参阅 控制台操作-下载文件 文档。

API使用,参阅 GET Object文档说明。

1.4. 删除文件

您可以通过以下方法删除上传在Bucket中的文件(Object):

  • 单个删除:指定某个对象进行删除
  • 批量删除:一次指定不超过1000个文件进行删除。
  • 自动删除:如果需要删除的对象数目很多,而且删除的对象有一定的规律,比如定期删除某些天之前的对象,或者是要清空整个Bucket,这个时候推荐使用生命周期管理来完成。设置了之后,系统会根据规则自动删除已到期的对象,能大大减少您发送删除请求的次数,提高删除速度。

results matching ""

    No results matching ""