# OSS基本概念


<!--more-->


## 1. 存储空间 Bucket

存储空间是用户用于存储对象（Object）的容器，所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性，包括地域、访问权限、存储类型等。用户可以根据实际需求，创建不同类型的存储空间来存储不同的数据。

- 同一个存储空间的内部是扁平的，没有文件系统目录的概念,所有的对象都直接隶属于其对应的存储空间。
- 每个用户可以拥有多个存储空间。
- 存储空间的名称在OSS范围内必须是全局唯一的，一旦创建之后无法修改名称。
- 存储空间内部的对象数目没有限制。

## 2. 对象/文件 Object

对象是OSS存储数据的基本单元，也被称为OSS的文件。对象由元信息（ObjectMeta），用户数据（Data）和文件名（Key）组成。对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对，表示了对象的一些属性，比如最后修改时间、大小等信息，同时用户也可以在元信息中存储一些自定义的信息。

对象的生命周期是从上传成功到被删除为止。在整个生命周期内，只有通过**追加上传**的Object可以**继续通过追加**上传写入数据，其他上传方式上传的Object内容无法编辑，您可以**通过重复上传同名的对象来覆盖之前的对象**。

对象的命名规范如下：

- 使用UTF-8编码。
- 长度必须在1–1023字节之间。
- 不能以正斜线（/）或者反斜线（\）开头。

## 3. 地域 Region

Region表示OSS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说，距离用户更近的Region访问速度更快。

Region是在创建Bucket的时候指定的，一旦指定之后就不允许更改。该Bucket下所有的Object都存储在对应的数据中心，目前不支持Object级别的Region设置。

## 4. 访问域名 Endpoint

Endpoint表示OSS对外服务的访问域名。OSS以**HTTP RESTful API**的形式对外提供服务，当访问不同的Region的时候，需要不同的域名。通过内网和外网访问同一个Region所需要的Endpoint也是不同的。例如杭州Region的外网Endpoint是`oss-cn-hangzhou.aliyuncs.com`，内网Endpoint是`oss-cn-hangzhou-internal.aliyuncs.com`。

## 5. 访问密钥 AccessKey

AccessKey（简称AK）指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS通过使用**AccessKeyId**和**AccessKeySecret**对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标识用户；AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥，必须保密。对于OSS来说，AccessKey的来源有：

- Bucket的拥有者申请的AccessKey。
- 被Bucket的拥有者通过**RAM**授权给第三方请求者的AccessKey。
- 被Bucket的拥有者通过**STS**授权给第三方请求者的AccessKey。

> 阿里云官网后台设置

## 6. Service

OSS提供给用户的虚拟存储空间，在这个虚拟空间中，每个用户可拥有一个到多个Bucket。 














