如何在 Ruby 中使用 Fog 复制 s3 文件夹中的所有文件
How to copy all files in a folder on s3 using Fog in Ruby
如何使用 fog 将 s3 目录(相同前缀)中存在的所有文件复制到同一存储桶中的另一个目录?
例如:将前缀为 <bucket>/foo/
的所有文件复制到 <bucket>/bar/
我认为本身没有直接的方法可以做到这一点,相反,您需要遍历适当的文件才能进行移动。我认为它看起来像这样:
require 'rubygems'
require 'fog'
# create a connection
connection = Fog::Storage.new({
provider: 'AWS',
aws_access_key_id: YOUR_AWS_ACCESS_KEY_ID,
aws_secret_access_key: YOUR_AWS_SECRET_ACCESS_KEY
})
directory = connection.directories.get(BUCKET, prefix: '/foo/')
directory.files.each do |file|
file.copy(BUCKET, "/bar/#{file.key.split('/').last}")
end
如何使用 fog 将 s3 目录(相同前缀)中存在的所有文件复制到同一存储桶中的另一个目录?
例如:将前缀为 <bucket>/foo/
的所有文件复制到 <bucket>/bar/
我认为本身没有直接的方法可以做到这一点,相反,您需要遍历适当的文件才能进行移动。我认为它看起来像这样:
require 'rubygems'
require 'fog'
# create a connection
connection = Fog::Storage.new({
provider: 'AWS',
aws_access_key_id: YOUR_AWS_ACCESS_KEY_ID,
aws_secret_access_key: YOUR_AWS_SECRET_ACCESS_KEY
})
directory = connection.directories.get(BUCKET, prefix: '/foo/')
directory.files.each do |file|
file.copy(BUCKET, "/bar/#{file.key.split('/').last}")
end