对象
对象(Object)是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息(元数据)的集合体。用户上传至OBS的数据都以对象的形式保存在桶中。
- Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
- Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元数据以键值对(Key-Value)的形式被上传到OBS中。
- 系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Content-length,Last-modify,ETag等。
- 用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。
- Data:数据,即文件的数据内容。
通常,我们将对象等同于文件来进行管理,但是由于OBS是一种对象存储服务,并没有文件系统中的文件和文件夹概念。为了使用户更方便进行管理数据,OBS提供了一种方式模拟文件夹。通过在对象的名称中增加“/”,例如“test/123.jpg”。此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)仍然是“test/123.jpg”。
上传对象时,可以指定对象的存储类别,如果不指定,默认与桶的存储类别一致。上传后,对象的存储类别可以修改。
在OBS管理控制台和客户端上,用户均可直接使用文件夹的功能,符合文件系统下的操作习惯。
对象键命名指导原则
虽然您可以在对象键名称中使用任何UTF-8字符,但是按照以下规则命名有助于确保与其他应用程序的最大兼容性。每个应用程序对特殊字符的分析方式可能不同。以下指导原则有助于最大程度符合DNS、Web安全字符、XML分析器和其他API的要求。
以下字符集通常可安全地用于键名称:
字母数字字符(通常也被称为非保留字符) |
[0-9a-zA-Z] |
特殊字符(通常也被称为保留字符) |
感叹号(“!”) 连字符(“-”) 下划线(“_”) 句点(“.”) 星号(“*”) 单引号(“'”) 左括号(“(”) 右括号(“)”) |
以下是有效对象键名称的示例:
4my-organization my.great_photos-2014/jan/myvacation.jpg videos/2014/birthday/video1.wmv