首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Amazon S3云储存服务器的功能及编程接口

2012-09-14 
Amazon S3云存储服务器的功能及编程接口Amazon S3是一种云上的存储服务器,其功能仅在于存储。和普通的服务

Amazon S3云存储服务器的功能及编程接口

Amazon S3是一种云上的存储服务器,其功能仅在于存储。和普通的服务器不同,它没有操作界面,连一般的SSH命令登录功能都没有。和它打交道的话,一种办法是用它的管理界面,另一种是借助其编程接口。


1.名词和术语

AWS Account:Amazon Web Service Account, 一般一个公司会申请一个帐户,可以认为管理员帐户。

IAM User:一般AWS只有少数人掌握,为了操作的方式,添加子帐户称为IAM帐户,每个帐户有不同的权限。无论是AWS还是IAM帐户,都有一个Access Key ID和一个Secret Key。在Amazon Web 管理界面上登录时使用帐户名,而用编程接口交互时都用的是Access Key ID和Secret Key,其中ID是16个字符,Secret是40个字节。

Bucket:    可以理解为一个很大的磁储硬盘,其容量以T为单位,当然,你肯花的钱越多就可以买到更大容易的S3。一个AWS帐户可以创建N个(N<100)个bucket。bucket的名称作为domain name的一部分,例如,如果bucket名称叫mybucket,则其全称为http://mybucket.s3.amazonaws.com/

Object:Bucket的文件,不过在这里称为资源更好些。在Bucket所有的Object呈Flat状排列,每个Object有一个唯一的Key,可以理解为URI。需要注意的是,Bucket里没有目录树的概念,虽然一个Object Key可能显示为 a/b/c/my.jpg,并不意味着有a, b, c三个目录和一个my.jpg的文件。事实上,只有一个资源,其名称Key就是一个全路径而已。

     Object Key: 表示其名称,在bucket内全局唯一,实际就是一个可带斜线/的字符串,如/a/b/c/my.jpg

     Object Meta: 描述其大小,ACL等

     Object Value: 就是Object的内容,其长度为Meta里长度

     Object Version: 默认不带版本支持的,只要显示的设置bucket之后才有Version概念

Access Control:S3上的Object默认是不能public访问的,这意味着,你上传一个Object的Key=a/my.html,并不能直接通过http://mybucket.s3.amazonaws.com/a/my.html直接访问,会提示Access Denied,只要在设置权限(ACL或Policy之后才可以访问)


2.常用操作

S3服务器提供了SOAP/HTTP接口,官方称为REST API。同时为了使用了方便在其上封装了一层SDK,支持Java, PHP, .Net, Ruby接口,可惜的暂时没有C++接口。一般程序员们可以用它的SDK,还是很方便的,满足大部分操作的需求。

先声明一些变量

DeleteObjectRequest request = new DeleteObjectRequest(bucketName, s3Path);s3Client.deleteObject(request);

3.Access Control权限设置

上面有个简单的ACL设置,一般也够用了。如果此篇受大家欢迎的话,我再补上更详细的说明。

    


热点排行