嗨云计算极客,有没有任何方法可以使用 JAVA AWS 开发工具包(而不是使用 CLI 命令/ec2-api-tools)安装/连接 S3 存储桶和 EC2 实例。我确实拥有所需的所有 JAVA sdk。我使用 Java AWS SDK 成功创建了一个存储桶,现在进一步想将它与我位于北弗吉尼亚地区的 EC2 实例连接起来。我没有找到任何方法来做到这一点,但我希望必须有某种方法。
干杯,哈米
嗨云计算极客,有没有任何方法可以使用 JAVA AWS 开发工具包(而不是使用 CLI 命令/ec2-api-tools)安装/连接 S3 存储桶和 EC2 实例。我确实拥有所需的所有 JAVA sdk。我使用 Java AWS SDK 成功创建了一个存储桶,现在进一步想将它与我位于北弗吉尼亚地区的 EC2 实例连接起来。我没有找到任何方法来做到这一点,但我希望必须有某种方法。
干杯,哈米
您不会“挂载 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 也可以将其保存为 file。
列出(模拟)文件夹的对象:请参阅我在另一个问题中的回答。