Amazon Simple Storage Service (Amazon S3)

Amazon S3 是一种面向 Internet 的存储服务。该服务旨在降低开发人员进行网络规模计算的难度。

Amazon S3 提供一个简明的 Web 服务界面,用户可通过它随时在 Web 上的任何位置存储和检索的任意大小的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和性价比的基础设施,而 Amazon 正是使用此种基础设施来运行其全球的网站网络的。该服务旨让扩展带来的优势得以最大化,并将这种优势传递给开发人员。

 【以上介绍引自aws官方介绍:http://aws.amazon.com/cn/s3/

简单来说,s3就是一种存储服务,动态为客户提供所需的存储空间,用户通过注册aws账户便可以拥有自己的s3,但是会根据其使用的存储容量适当收费。s3中包含的基本单位是bucket,可以叫作“桶”。反正不都是把东西往里面“砸”么~吼吼。一般而言一个用户最多可以拥有100个bucket("Each AWS account can own up to 100 buckets at a time.")。但是每个bucket里面可以创建n个文件夹(在java里面bucket里面的所有文件都被定义为“object”)。

从s3上存取文件方法很多,可以登录控制台进行存取,或者干脆在本地通过命令行输入进行存储(该方法需要到官网上下载相应的command line tools:http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/Welcome.html),当然除此之外也可以通过编程来实现上述功能,以Java为例进行下面讲解:

1.首先去官网下载sdk:http://aws.amazon.com/cn/sdkforjava/

2.将sdk里面的jar包全部导入java项目中(这样做其实是有点偷懒了,事实上很多jar包在这里是不需要的)

3.开始编程实现功能:

 

package testS3;

import java.io.BufferedReader; 
import java.io.File; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.List; 
import com.amazonaws.auth.AWSCredentials; 
import com.amazonaws.auth.BasicAWSCredentials; 
import com.amazonaws.services.s3.AmazonS3Client; 
import com.amazonaws.services.s3.model.Bucket; 
import com.amazonaws.services.s3.model.GetObjectRequest; 
import com.amazonaws.services.s3.model.ObjectListing; 
import com.amazonaws.services.s3.model.Region; 
import com.amazonaws.services.s3.model.S3Object; 
import com.amazonaws.services.s3.model.S3ObjectSummary; 


public class TestS3_Put_Get { 

public static void main(String[] args) throws IOException { 
        //get IAM 
        AWSCredentials myCredentials = new BasicAWSCredentials(yourKey,yourSecret );//输入你的key和secret,你得去“我的帐户”里找 
        AmazonS3Client s3 = new AmazonS3Client(myCredentials); 
         
        //创建bucket,存入obejct 
        s3.createBucket("mybuckethaha", Region.US_West_2);//bucket名和s3所在地域 
        s3.putObject("mybuckethaha", "docs/tt.txt", new File("d:/data1.txt"));//上传一个txt文件 
        System.out.println("finished!"); 
         
        //上传完毕 
        //现在获取bucket和object 
        List bls=s3.listBuckets(); 
        for(Bucket bl:bls){ 
         System.out.println(bl.getName()+":"); 
         ObjectListing ols=s3.listObjects(bl.getName()); 
         List osls=ols.getObjectSummaries(); 
         for(S3ObjectSummary osl:osls){ 
         System.out.println("-\t"+osl.getKey()); 
         if(osl.getKey().contains(".txt")){ 
         System.out.println("print: "+osl.getKey()); 
         S3Object s3o=s3.getObject(new GetObjectRequest(bl.getName(),osl.getKey())); 
                 BufferedReader reader = new BufferedReader(new InputStreamReader(s3o.getObjectContent(),"utf-8")); 
                 String s=""; 
                 while((s=reader.readLine())!=null){ 
                  System.out.println(s); 
                 } 
                 reader.close(); 
         } 
         } 
        } 
} 
}

简单吧,哈哈,改天再发表ec2是怎么实现的,还有auto scaling等等~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值