ruby-on-rails - 如何将一个文件夹移动到 S3 存储桶中的另一个文件夹中?
问题描述
我需要将我的 S3 存储桶中的一个文件夹移动到另一个,存储桶 1 的标题为 DD.MM.YYYY,其中包含我要移动的 PDF,目标存储桶是“存档”。然后创建一个一次性的 rake 任务来执行这个动作。
这是我认为首先是我的 S3Util.rb 文件中的相关代码:
def pull_s3_objects(s3_folder)
@s3_objects = s3_resource.bucket(bucket_name).objects(prefix: s3_folder)
@s3_objects = yield(s3_objects) if block_given?
end
def move_objects(ARCHIVE_FOLDER)
s3_objects.each do |obj|
# MOVE EVERY S3 PDF FILE THAT WE PULLED BEFORE TO THE NEW LOCATION
# 10.10.2020/file.pdf -> folder_name/10.10.2020/file.pdf
end
end
然后在我的 Rake 文件中。
task move_old_documents: :environment do
bucket = Settings.file_storage.ocr_documents.s3_credentials.bucket
file_util = Courts::Aws::FileUtil.new(bucket) # Should be called S3Util ?
file_util.get_objects { |obj| obj.key.ends_with?('.pdf') } # TODO: get only pdf files that are in the folders with names dd.mm.yyy }
file_util.move_objects('archive')
end
end
当我尝试运行 rake 时,我收到了这个,可能与命名结构有关?因为它使用我的 S3Util.rb 文件和类。
rake aborted!
Don't know how to build task 'move_old_documents' (See the list of available tasks with `rake --tasks`)
我应该进入的任何指导/方向将不胜感激!
解决方案
推荐阅读
- algorithm - 使用 SSTable 进行基本过滤
- node.js - Pdf 未从 Aws Lambda 返回,但在本地工作正常
- mongodb - mongoimport - 云 uri 只允许一个位置参数
- python - 如何在 sympy 中扩展 Symbol 类?
- python - 我应该如何让我的 python PRNG 正常工作?
- reactjs - 异步 redux 调用后 React 中的条件重定向
- arrays - 如何在 Swift 中将 .filter 用于带有结构的数组?
- mysql - Loopback api 错误 401 需要授权
- google-cloud-platform - 谷歌云语音转文本,如何默默抛出 UnknownValueError?
- python - 处理对 github 的可执行文件依赖