Перемещение файла в AWS S3 Bucket между папками с помощью Shrine - PullRequest
0 голосов
/ 06 ноября 2019

Поддерживает ли Shrine способ копирования / перемещения файлов между папками внутри S3 Bucket?

Например, я загружаю файл в папку с именем cache, и если все в порядке, я перемещаю этот файл в папку store и очищаю кэш (немедленно или с помощью фоновой задачи).

cache и store - это разные хранилища святынь (хотя они принадлежат одному и тому же ведру).

1 Ответ

1 голос
/ 06 ноября 2019

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 не поддерживает движущиеся объекты, вы можете просто удалить кэшированный файл после копирования.

...