gpt4 book ai didi

ruby-on-rails - 使用 Shrine 在文件夹之间移动 AWS S3 Bucket 上的文件

转载 作者:行者123 更新时间:2023-12-04 15:38:54 33 4
gpt4 key购买 nike

Shrine 是否支持在 S3 存储桶内的文件夹之间复制/移动文件的方法?

例如,我将一个文件上传到一个名为 cache 的文件夹中,如果一切正常,我将该文件移动到一个 store 文件夹中并清除缓存(立即或使用后台任务)。

cachestore 是不同的 Shrine store(虽然它们属于同一个 bucket)。

最佳答案

当上传一个上传到 S3 的文件时,Shrine 会自动执行复制请求。

Shrine.storages = {
cache: Shrine::Storage::S3.new(...),
store: Shrine::Storage::S3.new(...),
}

cached_file = Shrine.upload(file, :cache) # performs a `put_object` operation
stored_file = Shrine.upload(cached_file, :store) # performs a `copy_object` operation

因此,在附件流程中,当 Shrine 将缓存文件“提升”到永久存储时,S3 存储将在内部发出复制请求。

由于S3不支持移动对象,复制后删除缓存文件即可。

关于ruby-on-rails - 使用 Shrine 在文件夹之间移动 AWS S3 Bucket 上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58733219/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com