将文件夹上载到Rails的S3存储桶

时间:2019-11-11 09:01:55

标签: ruby-on-rails ruby amazon-web-services amazon-s3 ruby-on-rails-5

如何将整个文件夹上载到S3存储桶或将我的文件夹中的所有文件上载到s3存储桶文件夹。

现在,我只能使用以下代码上传文件: 我要上传一个文件夹,其中包含.gif,.jpeg,.html等文件。

  def myfunction(location,source_file)
            s3 = Aws::S3::Resource.new(region:'region-name')
            obj = s3.bucket(bucket-name).object(location)
            obj.upload_file(source_file)
        end

1 个答案:

答案 0 :(得分:0)

没有Amazon S3 API调用可上传多个文件。您将需要一次一次上传,但是如果您的编程语言具有多线程功能,则可以并行执行。

如果您只需要复制文件而不是在自己的应用程序中包含此功能,则可以使用AWS Command-Line Interface (CLI)。它提供了aws s3 cp --recursive命令和aws s3 sync命令,可以为您复制整个目录。 (它递归地复制每个文件。)