【问题标题】:Scala data reading from Amazon S3从 Amazon S3 读取的 Scala 数据
【发布时间】:2015-08-04 10:15:04
【问题描述】:

我一直在努力使用 Scala 读取存储在 S3 上的一个存储桶中的嵌套文件夹。 我用我的凭据编写了脚本。在存储桶中 - 有很多文件夹。假设一个文件夹名称是“folder1”。在这个文件夹中有很多子文件夹等等。我想获取文件夹 1 的每个子文件夹(其中的每个子文件夹)的名称。

val yourAWSCredentials = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY)   
val amazonS3Client = new AmazonS3Client(yourAWSCredentials)

print(amazonS3Client.listObjects(bucketName,"folder1").getObjectSummaries())

但这不会返回我需要的结构。可能有更简单的方法来获取路径?

【问题讨论】:

  • 当前输出是多少?
  • 当前输出只是一个对象的地址。不是真正的文件夹和名称。如果我像 getObjectSummaries().get(1).getKey 那样走得更远,那么我会得到一些路径。但它的最后一个子目录的结束文件。如果我更改 2,它的顺序与磁盘上通常的文件结构不同。这就是为什么我无法使用具有不同索引的循环。

标签: scala amazon-web-services amazon-s3


【解决方案1】:

Amazon S3 不是常规的分层文件系统。它实际上没有文件夹。

您需要了解 S3 前缀和分隔符。见Listing Keys Hierarchically Using a Prefix and Delimiter

另见Max files per directory in S3

【讨论】:

    猜你喜欢
    • 2018-09-04
    • 2016-03-31
    • 1970-01-01
    • 2017-09-06
    • 2018-05-13
    • 2020-04-14
    • 2020-04-13
    • 2018-01-09
    • 2015-01-26
    相关资源
    最近更新 更多