对外提供功能:
1、基本功能:
1)能够读,写,删除1B-5TB大小的数据,单次请求可以删除1000个对象;
2)对开发者提供REST,SOAP协议;下载默认协议为http,如果使用 BitTorrent ,费用更低;
2、桶:
1)一次可以创建100一个桶;
2)桶有一定的命名规则;
3)支持的操作:创建,删除,元数据,list;
4)list操作:
一次list的key数目最大为1000;
4)从顶级组织S3命名空间,控制内部对象的访问;
5)一个桶只能选择一个region,数据不会自动地跨region;
6)一个桶内可以上传无限制的对象;
7)桶规则: 可以定义桶的访问规则,如支持对象的通配符操作,对请求进行控制等;
8)桶是不可以嵌套的;
9)支持前缀和分隔符方式查询;
10)桶有三种状态:unversioned (the default), versioning-enabled, or versioning-suspended
11)请求开启版本:会list一个对象的所有版本,且每个版本作为一个对象list;
3、对象:
1)一个对象包括数据,元数据两部分;
2)对象可以被覆盖;
3)支持的操作:重命名,下载,上传,标记为公共,删除,元数据查询(HEADER),移动
4)对象包含如下参数:
key:为对象分配的名字;
versionID:在一个桶内,通过key+versionid决定一个对象;
value:最大为5TB;
metadata:键值对集合;
根据元数据是否可修改可分为2类:可以与不可以;
根据元数据级别可以分为:系统元数据与自定义元数据;
存储级别:默认为STANDARD,其他为REDUCED_REDUNDANCY(99.99%)
subsource:
a)acl:每一个对象都有对应的acl;
b)torrent:S3支持BitTorrent 协议进行对象的下载;
版本:对象可以有多个版本,get操作默认获取最新版本;版本功能默认是关闭的,且版本号为空;版本号由S3产生,如果要删除对象,会为该对象生成一个删除marker,get操作会获取该marker,返回对象不存在;可以通过指定版本号(包括删除marker)的方式删除版本,;
对象超时:对象可以设置生命周期;
4、键:
用于唯一标识一个桶内的对象,对象通过"bucket+key+version"被定位
5、IAM:
1)在aws账户下创建用户和组;
2)在用户间分享资源;
3)控制用户对服务的访问;
4)为用户分配证书;
5)在aws账户下,所有用户为一个单独的账单;
6、数据一致性:
1)对象基于原子性操作,当冗余均存储成功才提供服务;
1)US Standard Region提供最终的一致性;其他区域提供put操作的read-after-write一致性,及其覆盖和删除的最终一致性;
2)S3不支持对象锁,如put时,同时对一个key进行操作,基于时间戳,后面会覆盖前面的操作;
2、数据安全:
1)安全控制:认证和访问管理(IAM),ACL,bucket policy
2)多分存储:存储多分数据,以能够快速检查数据完整性,和快速修复;通过RRS可减少存储的冗余分数
3)数据校验:每一个对象,均提供校验功能;
4)多版本存储:针对重要的数据,可以设置版本控制;
5)权限控制:
7、工具
1)提供IMPORT,EXPORT功能,提供数据绕过internet,在amazon内部网络实现高速传输,一般用于将数据分发到离用户最近的地方;数据备份;灾难恢复;
8、日志服务,可以通过定制生成访问日志