1. 基本概念

NOS提供互联网上的存储服务,设计目标是高度可伸缩、高可靠的廉价数据存储基础设施, 并给开发者提供最大程度的便利。对象存储把用户数据存储为桶里面的对象。对象由文件、 描述文件的元数据信息组成。桶是对象的容器,一个用户可以创建多个桶(默认限制100个) ,桶名称全局唯一。

用户可以通过简单的REST接口,在任何时间、任何地点、任何互联网设备上进行数据的上传 和下载,也可以使用WEB页面对数据进行管理。同时,NOS提供Java、Python等SDK,简化 用户的编程。用户可以基于NOS搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于 大规模数据的服务。

NOS访问地址: https://c.163.com/product/nos

1.1. 对象

在NOS中,用户的每个文件都是一个Object,单块上传接口每个文件需小于100M。大于100M的文件使用大对象分块上传接口,每个分块最大100M、最小16K,分块数量最多可达10000个分块(100M * 10000 = 1T)即最大支持文件大小1T。

Object包含Key、Data和Meta Data。其中,Key是Object的名字;Data是Object的数据;Met a Data是用户对该Object的描述。 Object命名规范包括:

  • 使用UTF-8编码。
  • 规则长度必须在1-1000字节之间。
  • 在桶内部对象名称唯一,如果对象名重复,则会覆盖以前值 。

1.2. 桶

桶是对象的容器,桶名全局唯一,由桶名和对象名唯一定位一个资源。每个用户最多允许创 建100个桶,而桶里面的对象个数无限制。

1.2.1. 桶命名规范

桶的名称需要符合以下命名规范:

  • 长度限定为3到63个字符。
  • 仅包含小写字母[a-z]、数字[0-9]、横杠(-)。
  • 必须以字母或数字开头、结尾。
  • 不能包含连续的非字母数字符号(例如a..b,a.-b,a--b)。

1.2.2. 桶的属性

桶的属性直接影响到桶内的所有对象,当前支持的属性包括:

  • 数据中心,建桶时指定地理分区,比如hz(杭州)等。
  • ACL,目前支持私有桶(private) | 公开桶(public-read)两种权限。

1.2.3. 获取桶的对象列表

使用max-keys和marker参数来做分页,使用prefix参数做前缀查询,使用delimiter参数实现 类似文件夹的功能,不支持排序。(delimiter和prefix的实现详见GetBucket