如何使用Ruby中的Fog在s3的文件夹中复制所有文件

问题描述 投票:0回答:1

如何使用fog将s3目录(相同前缀)中存在的所有文件复制到同一存储桶中的另一个目录?

例如:将所有前缀为<bucket>/foo/的文件复制到<bucket>/bar/

ruby amazon-s3 fog
1个回答
0
投票
我认为本身没有直接的方法,相反,您需要遍历相应的文件才能进行迁移。我认为它看起来像这样:

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

© www.soinside.com 2019 - 2024. All rights reserved.