在云计算极客中,有没有办法使用JAVA AWS SDK挂载/连接S3存储桶和EC2实例(不使用命令行界面命令/ec2-api-tools)。我确实拥有所需的所有JAVA sdks。我使用Java AWS SDK成功地创建了一个存储桶,现在我想进一步将它与我在北弗吉尼亚地区的EC2实例连接起来。我没有找到任何方法来做这件事,但我希望一定有什么方法。
干杯,哈米
发布于 2013-04-14 16:07:58
您不能“挂载S3存储桶”,它们不会以这种方式工作,因为它们不是文件系统。Amazon S3是一种基于密钥的存储服务。您将对象(文件)与键放在一起,并使用相同的键检索它们。键只是您任意指定的名称,您可以在名称中包含"/“标记,以模拟文件的层次结构。例如,密钥可以是folder1/subfolder/file1.txt。为了说明这一点,我展示了使用java sdk的基本操作。
首先,您必须设置您的亚马逊凭据并获得一个S3客户端:
AWSCredentials credentials = new BasicAWSCredentials("your_accessKey", your_secretKey");
AmazonS3Client s3client = new AmazonS3Client(credentials);存储文件:
File file = new File("some_local_path/file1.txt");
String fileKey = "folder1/subfolder/file1.txt";
s3client.putObject("bucket_name", fileKey, file);检索回文件:
S3ObjectInputStream objectInputStream = s3client.getObject("bucket_name", fileKey).getObjectContent();你可以阅读InputStream或者你的can save it as file。
列出(模拟)文件夹See my answer in another question的对象。
https://stackoverflow.com/questions/15989767
复制相似问题