Carrier Fog Aws — файлы автоматически исчезают с S3

Файлы, успешно загруженные с помощью тумана на s3 на несущей волне, похоже, автоматически исчезают. Как мне предотвратить это? Для общедоступной настройки тумана установлено значение true.


person coder    schedule 01.09.2017    source источник
comment
Как узнать, что файл исчез?   -  person artgb    schedule 01.09.2017
comment
Поскольку он был там, когда я его загрузил, и примерно через день, когда мне было отказано в доступе, я знаю, что файл исчез. В консоли s3 тоже не отображается.   -  person coder    schedule 01.09.2017
comment
Может быть, случайно ЭТО как-то связано с этим? Как быстро вы заметили, что файлы удаляются после их загрузки? Мне приходилось отключать эту функцию в прошлом, когда я сталкивался с подобной проблемой.   -  person Belder    schedule 01.09.2017
comment
Я проверил облачный след S3, и кажется, что Carrierwave его удаляет.   -  person coder    schedule 11.09.2017


Ответы (2)


По какой-то причине Carrierwave удаляет файлы не только при удалении модели, но и при ее обновлении, даже если вы не трогаете поле смонтированного загрузчика. Предполагается, что есть параметр конфигурации remove_previously_stored_files_after_update, который, если он установлен в false, предотвращает это, но мне не повезло установить его в false - он все равно удаляет мои файлы при обновлении модели.

person GolDDranks    schedule 15.02.2018

Внутри вашего класса загрузчика вы можете изменить метод #remove!.

class FileUploader < CarrierWave::Uploader::Base

  #...

  def remove!
    # do some stuff to confirm that you want the file removed,
    # otherwise return.  You have access to model record as 'model'
    super
  end

end
person SteveTurczyn    schedule 15.02.2018