с AWS S3. (число скачиваний важно для корректного биллинга клиента). Как можно это сделать, и как сделать так, чтобы не заабьюзить технологически (фронт по 10 раз подгружает для одного пользователя) и ( и в идеале, хотя и без этого могу обойтись) для клиента, чтоб если он ушел с файла на главную, а потом вернулся - не считалось как дополнительное скачивание)?
проксировать запрос на бакет через свой сервер
более конкретно. То есть я не отдаю пресайнд урлы, а именно передаю файлы от сервера? А если подключим цдн? С учетом того что планируется подключение цдн - это плохое решение
а кто-то прямые ссылки из с3 отдает?
интересный вопрос) что вы имеете ввиду?)
я имею в виду, что файлы из бакета и так не должны напрямую отдаваться)
почему не должны? зачем тогда бакет
в чем проблема давать прямые ссылки на фронт если дата например картинок из магазина? Или, например, тот же вебсайт который стоит на s3 (хоть это и редкость, но делают)
чтобы его (бакет) через цдн отдавать или через свои сервисы
ну если ты ожидаешь посетитилей только из региона где хостится бакет, то думаю разница не заметна. а если у тебя worldwide to cloud front в помощь
а если часть картинок нельзя кешировать или некоторые файлы отдавать только определенным пользователям?
Там есть уже встроенные метрики!
Зачем тогда у амазона есть для этого соотв политика?
а другие облака? или завязаны на авс?
так паблик рид не нужно 🤷♂
Можно через прокси/лямьду считать загрузки и отдавать картинку, но тогда придётся платить ещё и за лямбду. Цель биллинга не ограничить доступ, а выставить счёт за использование, трекать юзера можно по логам
какая разница, лямбды или "обычный" сервис? в итоге все равно не напрямую отдаются ассеты
Нельзя отдать публично доступную ссылку на файл в бакете?
а трекать доступ как? ну, чтобы за просмотр денежка списывалась, но если обновить страницу - это не было бы повторным просмотром или какие-нибудь иные правила?
В логи зайти и посмотреть, ну и спарсить там по нужным правилам
о, ну это замечательный подход 👍
В конце отчетного периода джоба, юзерам выставили счёт, профит
а в системе тоже из под рута или администратора сидишь?
прикол, что я уже не один "серьзеный" сервис видел где данные отдаются напрямую по s3 ссылке, через <bucket>.s3.amazonaws/...
а у нас всегда по правилам ещё когда-то популярных htaccess: Order deny,allow Deny from all Allow ...
Обсуждают сегодня