对象(Object)是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息(元数据)的集合体。用户上传至OBS的数据都以对象的形式保存在桶中。
对象包括了Key,Metadata,Data三部分:
Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元数据以键值对(Key-Value)的形式被上传到OBS中。
系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Content-length,Last-modify,Content-MD5等。
用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。
Data:数据,即文件的数据内容。
通常,我们将对象等同于文件来进行管理,但是由于OBS是一种 对象存储服务 ,并没有文件系统中的文件和文件夹概念。为了使用户更方便进行管理数据,OBS提供了一种方式模拟文件夹。通过在对象的名称中增加“/”,例如“test/123.jpg”。此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)仍然是“test/123.jpg”。
上传对象时,可以指定对象的存储类别,若不指定,默认与桶的存储类别一致。上传后,对象的存储类别可以修改。
在OBS管理控制台和客户端中,用户均可直接使用文件夹的功能,符合文件系统下的操作习惯。