我试图仅列出来自s3文件夹(不是我知道的真实文件夹)中的对象distribution
,但我想删除对该名称的引用以及对象周围的任何斜杠。输出应该看起来像021498cd-ca73-4675-a57a-c12b3c652aac
,而目前看起来像distribution/021498cd-ca73-4675-a57a-c12b3c652aac/
到目前为止,我已经尝试过了;
def files
s3 = Aws::S3::Resource.new
s3.client
bucket = s3.bucket('test')
files = []
bucket.objects.each do |obj|
if obj.key.include?('distribution/')
temp_files = puts "#{obj.key}"
files = temp_files.select do |file|
file.gsub("distribution/", "")
end
else
end
end
end
但这似乎根本不起作用。
答案 0 :(得分:1)
您的解释非常简单,但您的代码暗示其他内容。
然而,这应该有助于你想要实现的目标。
def files
s3 = Aws::S3::Resource.new
s3.client
bucket = s3.bucket('test')
files = []
bucket.objects.each do |obj|
if obj.key.include?('distribution/')
files << "#{file.gsub(/(distribution)|\//, '')}"
end
end
end
files
数组将包含垃圾剥离的所有文件名。