gpt4 book ai didi

java - 如何从 Amazon S3 下载文件?

转载 作者:行者123 更新时间:2023-12-03 20:27:38 25 4
gpt4 key购买 nike

我在名为 BucketA 的存储桶中有一个名为 output 的文件夹。我在 output 文件夹中有一个文件列表。如何使用 AWS Java SDK 将它们下载到我的本地计算机?

下面是我的代码:

AmazonS3Client s3Client = new AmazonS3Client(credentials);
File localFile = new File("/home/abc/Desktop/AmazonS3/");
s3Client.getObject(new GetObjectRequest("bucketA", "/bucketA/output/"), localFile);

我得到了错误:

AmazonS3Exception: The specified key does not exist.

最佳答案

请记住,S3 不是文件系统,而是一个 object store .两者之间存在巨大差异,一个是目录式 Activity 根本行不通。

假设您有一个 S3 存储桶,其中包含两个对象:

/path/to/file1.txt
/path/to/file2.txt

使用这些对象时,您不能像使用文件系统目录中的文件那样简单地引用 /path/to/。那是因为 /path/to/ 不是一个目录,而只是一个非常大的哈希表中键的一部分。这就是错误消息指示 key 存在问题的原因。这些不是文件名路径,而是对象存储中对象的键。

为了将所有文件复制到 /path/to/ 等位置,您需要分多个步骤执行。首先,您需要获取其键以 /path/to 开头的所有对象的列表,然后您需要遍历每个单独的对象并逐个复制它们。

Here is a similar question答案显示如何使用 Java 从 S3 下载多个文件。

关于java - 如何从 Amazon S3 下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com