Hi Cloud Computing Geeks, 有没有办法使用JAVA AWS SDK(而不是使用CLI命令/ ec2-api-tools)将S3存储桶与EC2实例相连/连接。我确实需要所有JAVA sdks。我使用Java AWS SDK成功创建了一个存储桶,现在还想将它与我在北弗吉尼亚州存在的EC2实例连接起来。我没有找到任何办法,但我希望必须有某种方式。
干杯, 哈米
答案 0 :(得分:2)
你没有安装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。