постов хранить в minio.
Думал сначала для каждого поста создавать отдельный бакет и загружать туда картинки поста, но мне кажется это не есть хорошо, ибо постов может быть очень много, и для каждого создавать свой бакет - не гуд.
Есть вариант создавать для каждого юзера свой бакет, и у юзера хранить фотки постов, но что делать с названиями объектов в minio?
Допустим юзер загружает 3 фотки для поста. Я загружаю их в minio по бакету пользователя и с названиями
post_id-0, post_id-1, post_id-2 и записываю их в базу данных, аля post_photos (post_id, object_name) и когда получаю пост получаю с ними эти фотки, которые потом достаю из minio в виде ссылок на фото используя функцию presigned_get_object
Библиотка для minio с которой я работаю (https://github.com/hlf20010508/miniopy-async/ )
Есть советы как можно это правильно реализовать?
Можно по тупому но просто давать в качестве имени uuid
а что с постами когда юзера удаляешь? как там с правами на фоточки?)
Можно написать функцию которая будет дропать все картиночки при удалении пользователя или шедуллер который дропнит их через время по user_id На счет прав, можно в качестве имени бакета к user_id добавить скоуп прав, допустим 123123_public и 123123_private так будет легко различать приватные и публичные альбомы
Удалять бакет и фотки)
Обсуждают сегодня