仅列出s3存储桶中的子文件夹

sc_ray:

我有一个s3结构,如下所示:

s3bucketname -> List of first level keys -> List of second level keys -> List of third level keys -> Actual file.

我需要做的就是给定s3bucket的名称和一个第一级密钥的条目,我需要位于第一级密钥下的所有第二级密钥的名称。因此,从本质上讲,如果我们将其视为一个文件夹,则将获得的名称(root folder即)s3bucketname和其子文件夹之一的名称subfolder1,我想列出其中的所有文件夹subfolder1虽然只是名称,而不是完整的路径。

有人可以指出如何使用亚马逊的Java SDK在Java中做到这一点吗?

谢谢

查尔斯·蒙圭:

我做了下面的代码,看起来似乎很好,您必须传递a prefix并确保前缀以/结束,并指定要获取子目录列表的定界符。以下应该工作:

public List<String> listKeysInDirectory(String bucketName, String prefix) {
    String delimiter = "/";
    if (!prefix.endsWith(delimiter)) {
        prefix += delimiter;
    }

    ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
            .withBucketName(bucketName).withPrefix(prefix)
            .withDelimiter(delimiter);
    ObjectListing objects = _client.listObjects(listObjectsRequest);
    return objects.getCommonPrefixes();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PowerShell for AWS:仅列出S3存储桶中的“文件夹”吗?

在AWS S3存储桶的特定“文件夹”中列出文件

S3 / Cloudfront:如何在存储桶中列出文件夹的内容

从多个文件夹的s3存储桶中仅读取特定的json文件

AWS S3存储桶策略-仅允许文件夹中的某些文件类型

删除位于Amazon S3上存储桶中的子文件夹中的文件

使用 python boto 仅下载 S3 存储桶中的特定文件夹

从boto3检索S3存储桶中的子文件夹名称

Presto:如何从s3中读取在子文件夹中分区的整个存储桶?

在S3存储桶的子文件夹中托管index.html

在S3存储桶中创建子文件夹?

如何从 s3 存储桶中删除空的子文件夹?

使用Terraform在s3存储桶中创建文件夹和子文件夹

s3存储桶中文件夹的pyspark列表子文件夹

Amazon S3存储:可以在私有存储桶中列出公共文件夹吗?

您能否设置从 S3 存储桶子文件夹到 GCS 存储桶的传输,仅使用访问 S3 子文件夹的凭据,而不是根文件夹?

如何使用golang从Amazon S3存储桶的子文件夹中获取对象列表?

为单独的S3存储桶提供子文件夹

从超过 X 天的 S3 存储桶中删除文件夹、子文件夹和所有文件

如何从Amazon S3存储桶中的文件夹中获取所有文件?

从S3存储桶中的文件夹中删除文件

亚马逊s3,将文件上传到存储桶中的文件夹中

复制S3存储桶中嵌套文件夹中的文件

将文件从S3子文件夹移动到S3存储桶根

将 AWS S3 存储桶根目录内容复制到子文件夹中的同一个存储桶

将文件放在S3存储桶的文件夹中

使用API在Amazon S3存储桶中创建文件夹/上传文件

仅从s3存储桶文件夹中获取文件名

遍历具有文件夹结构的S3存储桶中的文件