对象管理

对象管理

1. 对象概述

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

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

1.1. 对象键(Key)

Key键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过255的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
命名规则:

不允许输入以下特殊字符:* # $ % & < > { } [ ] ' " | @ = : + , ? ^

通常,我们将对象等同于文件来进行管理,但是由于OS2是一种对象存储服务,并没有文件系统中的文件和文件夹概念。为了使用户更方便进行管理数据,OS2提供了一种方式模拟文件夹。通过在对象的名称中增加“/”,例如“test/123.jpg”。此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)仍然是“test/123.jpg”。

1.2. 对象元数据(Metadata)

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

HTTP标准头支持

HTTP标准头 说明
Cache-Control 文件的缓存机制
Content-Type 文件类型
Content-Disposition 下载时的名称展示
Expires 用来控制缓存的失效日期
Content-Encoding 文件的编码格式
Content-Language 文件内容的语言编码

1.3. User Meta自定义元数据

自定义元数据是对象的可自定义参数,以x-oss-作为前缀,如x-oss-datax-oss-acl

1.4. 元数据定义规则

  • 使用小写存储用户定义的元数据。使用 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”

2. 上传文件

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

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

用户可选择以下方式完成文件上传:

2.1. 普通上传

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

注意事项:

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

功能使用

2.2. 分片上传

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

功能使用

  • API使用,参阅API说明文档Object接口 -Initiate Multi-part Upload -Upload Part -Upload Part – Copy -List Multipart Upload Parts -Complete Multipart Upload -Abort Multipart Upload

3. 下载文件

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

功能使用

4. 解冻文件

访问/下载归档存储类型文件需先进行解冻。

归档类型的Object在执行解冻前后的状态变换过程如下:

  1. 归档类型的Object初始时处于冻结状态。

  2. 提交一次解冻请求后,Object处于解冻中的状态。

  3. 服务端完成解冻任务后,Object进入解冻状态,此时您可以读取Object。解冻时可以指定解冻状态持续时间(1~7天),默认为1天。

  4. 解冻状态结束后,Object再次返回到冻结状态。

功能使用

5. 删除文件

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

  • 单个删除:指定某个对象进行删除。
  • 批量删除:一次指定不超过1000个文件进行删除。

功能使用

个结果匹配 ""

    无结果匹配 ""