3

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

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

cache和是不同的store神社商店(尽管它们属于同一个桶)。

4

1 回答 1

2

Shrine 在上传已上传到 S3 的文件时会自动执行复制请求。

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 不支持移动对象,您只需在复制后删除缓存文件即可。

于 2019-11-06T16:34:56.250 回答