基本概念
NOS 提供互联网上的存储服务,设计目标是高度可伸缩、高可靠的廉价数据存储基础设施, 并给开发者提供最大程度的便利。对象存储把用户数据存储为桶里面的对象。对象由文件、 描述文件的元数据信息组成。桶是对象的容器,一个用户可以创建多个桶(默认限制 10 个) ,桶名称全局唯一。
用户可以通过简单的 REST 接口,在任何时间、任何地点、任何互联网设备上进行数据的上传 和下载,也可以使用 WEB 页面对数据进行管理。同时,NOS 提供 Java SDK 、Python 等 SDK,简化 用户的编程。用户可以基于 NOS 搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于 大规模数据的服务。
NOS 访问地址:https://www.163yun.com/product/nos
对象
在 NOS 中,用户的每个文件都是一个 Object,单块上传接口每个文件需小于 100 M。大于 100 M 的文件使用大对象分块上传接口,每个分块最大 100M 、最小 16K,分块数量最多可达 10000 个分块(100 M * 10000 = 1 T)即最大支持文件大小 1 T。
Object 包含 Key、Data 和 Meta Data 。其中,Key 是 Object 的名字;Data 是 Object 的数据;Meta Data 是用户对该 Object 的描述。 Object 命名规范包括:
- 使用 UTF-8 编码。
- 规则长度必须在 1-1000 字节之间。
- 在桶内部对象名称唯一,如果对象名重复,则会覆盖以前值 。
桶
桶是对象的容器,桶名全局唯一,由桶名和对象名唯一定位一个资源。每个用户最多允许创 建 100 个桶,而桶里面的对象个数无限制。
桶命名规范
桶的名称需要符合以下命名规范:
- 长度限定为 3 到 63 个字符。
- 仅包含小写字母 [a-z]、数字[ 0-9]、横杠 (-)。
- 必须以字母或数字开头、结尾。
- 不能包含连续的非字母数字符号(例如 a..b,a.-b,a -- b )。
桶的属性
桶的属性直接影响到桶内的所有对象,当前支持的属性包括:
- 数据中心,建桶时指定地理分区,比如 hz(杭州)等。
- ACL,目前支持私有桶(private)、公开桶(public-read)两种权限。
获取桶的对象列表
使用 max-keys 和 marker 参数来做分页,使用 prefix 参数做前缀查询,使用 delimiter 参数实现 类似文件夹的功能,不支持排序。(delimiter 和 prefix 的实现详见 GetBucket)