У меня есть что-то вроде приложения для хранения фотографий (Rails 5.2), которое использует ActiveStorage для хранения реальных фотографий.Все хорошо, я создаю водяные знаки с водяными знаками для своих пользователей, чтобы они рассматривались как варианты (оригиналы не являются общедоступными, и мне действительно нужно несколько вариантов для каждого изображения).
Что если мне придется изменить способ генерации таких вариантов?Хранилище S3 недешево (количество изображений исчисляется десятками тысяч), а ActiveStorage вообще не отслеживает варианты - они определяются только хэшем того, как именно я их сгенерировал.Если я изменю хэш варианта (скажем, изменим размер миниатюры), новые будут сделаны из c, но в хранилище останется множество старых больших двоичных объектов.
Эта же проблема также описана здесь , но нет решения.
Что вы делаете со старыми вариантами?Я хочу, чтобы хранилище вариантов работало как кеш, особенно если мои пользователи обычно не смотрят старые изображения.Если вариант старше данного возраста, я хочу просто удалить его, но у меня нет способа сделать это.Или я?
Я мог бы посмотреть на настоящие большие двоичные объекты в хранилище - но нет никакой разницы и метаданных.В S3 все эти файлы выглядят одинаково, ключ - это просто хэш того, как это было сделано, и нет соответствующих метаданных.
Жесткое кодирование всех предыдущих вариантов генерацииХэши для повторного запуска на всех предыдущих изображениях не должны быть подходящими.
Возможно, я мог бы исправить что-то в ActiveStorage (Variation
возможно?), чтобы добавить метаданные (указать, какие двоичные объектыварианты и какие оригиналы)?Тогда у меня могли бы быть внутренние рабочие места, чтобы удалить старые варианты.Может ли это на самом деле работать?Как мне сделать это совместимым с будущими версиями ActiveStorage?
Должен ли я отслеживать варианты самостоятельно?Почему тогда это не вариант в ActiveStorage?Очевидно, что для этого также потребуются изменения в классах ActiveStorage.
Могу ли я хранить варианты в другом хранилище (скажем, в другой корзине S3)?Это также решило бы проблему, так как я тогда знал бы, какие капли являются вариантами и могут легко удалить старые.
Что вы, люди, делаете со старыми ненужными вариантами?