gpt4 book ai didi

java - Amazon S3 - 复制粘贴的文件路径问题

转载 作者:行者123 更新时间:2023-12-01 09:00:22 24 4
gpt4 key购买 nike

我正在尝试获取存储桶中的所有文件路径。使用 listobjects 函数我可以实现它。但存在文件路径问题。

考虑这是文件夹结构

SampleBucket --> A(根文件夹)--> B(子文件夹)--> c(B 内的子文件夹)

我需要的是

http://SampleBucket.s3.amazonaws.com/A/

http://SampleBucket.s3.amazonaws.com/A/B/

http://SampleBucket.s3.amazonaws.com/A/B/C

我得到的是

http://SampleBucket.s3.amazonaws.com/A/

http://SampleBucket.s3.amazonaws.com/A/B/C

当我创建“A”文件夹并将“B”文件夹从本地驱动器复制粘贴到云浆果时发生这种情况

这是我的代码,用于获取存储桶中的所有文件夹和文件..

public List<S3ObjectSummary> getObjectslistFromFolder(String bucketName, String folderKey) {    
AWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3client = new AmazonS3Client(awsCreds);
ObjectListing current = s3client.listObjects(bucketName,folderKey);
List<S3ObjectSummary> keyList = current.getObjectSummaries();
current = s3client.listNextBatchOfObjects(current);
while (current.isTruncated()){
keyList.addAll(current.getObjectSummaries());
current = s3client.listNextBatchOfObjects(current);
}
keyList.addAll(current.getObjectSummaries());
return keyList;

}

最佳答案

S3 没有文件夹。它基本上具有键=>对象映射+匹配键前缀的能力。

当您查找 A/时,您正在查看所有具有以 A/开头的前缀的键

文件夹的幻觉通常是由您正在使用的软件(cloudberry)在客户端构建的,或者如果您的应用程序逻辑依赖于此,您也可以解析出返回的 key 以在本地“重新创建”文件夹。

同样,S3 只知道键并且可以对键进行前缀匹配。

关于java - Amazon S3 - 复制粘贴的文件路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41722434/

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