Ruby 如何枚举存储桶中S3文件夹中的所有文件?
如何使用Ruby SDK获取特定S3 bucket目录中每个文件的名称和内容 枚举S3存储桶中的对象很简单(例如,Ruby 如何枚举存储桶中S3文件夹中的所有文件?,ruby,amazon-web-services,ruby-on-rails-4,amazon-s3,Ruby,Amazon Web Services,Ruby On Rails 4,Amazon S3,如何使用Ruby SDK获取特定S3 bucket目录中每个文件的名称和内容 枚举S3存储桶中的对象很简单(例如,my_bucket)。从文档中: bucket = s3.buckets['my_bucket'] bucket.objects.each do |obj| puts obj.key end 但是现在如果我想要目录my_bucket/some_folder中的所有文件,我不知道如何枚举它们,在文档中也找不到任何东西。我试着用my_bucket/some_folder切换my_b
my_bucket
)。从文档中:
bucket = s3.buckets['my_bucket']
bucket.objects.each do |obj|
puts obj.key
end
但是现在如果我想要目录
my_bucket/some_folder
中的所有文件,我不知道如何枚举它们,在文档中也找不到任何东西。我试着用my_bucket/some_folder
切换my_bucket
,但这导致了AWS错误。有什么想法吗?您可以使用带有前缀的。方法:
bucket.objects.with_prefix('some/folder/')
然后你可以一个接一个地把它们拿来。上面返回一个枚举数
。如果您在地图上调用.map
,您可以访问,例如,当地图.last\u modified
时,以及其他内容。您可以使用.with\u prefix
方法:
bucket.objects.with_prefix('some/folder/')
然后你可以一个接一个地把它们拿来。上面返回一个枚举数
。如果您在地图上调用.map
,您可以访问,例如,当地图被.last\u修改时,以及其他内容。非常感谢Robert!您是否也知道是否有一种方法可以在没有路径的情况下获取结果对象的名称?否则,当您获取object.key
时,它会给出一些/folder/my_object.txt
,而我只需要my_object.txt
。谢谢(计时器启动后2分钟内我接受)当然,如果你知道前缀(some/folder/
)并且你有名称(some/folder/my_object.txt
),只要写名称[prefix.length.-1]
。谢谢罗伯特!您是否也知道是否有一种方法可以在没有路径的情况下获取结果对象的名称?否则,当您获取object.key
时,它会给出一些/folder/my_object.txt
,而我只需要my_object.txt
。谢谢(计时器启动后2分钟内我接受)当然,如果你知道前缀(some/folder/
)并且你有名称(some/folder/my_object.txt
),只要写名称[prefix.length.-1]
。