Как установить S3 Caching On Sails JS и Skipper?
У меня есть заявление, написанное на Sails JS. Я хочу установить кэширование для моих файлов S3. Я не совсем уверен, с чего начать, нужно ли что-то делать с моей функцией Image GET? У кого-нибудь был опыт установки кеширования для активов S3?
Это моя функция получения для аватаров пользователей: var SkipperDisk = require ('skipper-s3'); var fileAdapter = SkipperDisk ({ключ: 'xxx', секрет: 'xxx + xxx', сегмент: 'xxx-xxx' }); fileAdapter.read(user.avatarFd).on('error', function(err) { // return res.serverError(err); return res.redirect('/noavatar.gif'); }).pipe(res); });
1 ответ
Почему бы не включить статический хостинг веб-сайтов для вашей корзины S3? Загрузите изображения в корзину, на которую может ссылаться images.yourapp.com/unique-image-path
Сохраните аватар для каждого пользователя в базе данных.
Верните URL изображения вместо того, чтобы возвращать изображение.
Это может помочь вам воспользоваться преимуществами кэширования на стороне клиента.
При загрузке файла в S3 вы можете установить метаданные для файла. Задавать Expires
заголовок на будущую дату, чтобы помочь кэшированию. Вы также можете установить Cache-Control
заголовок. Skipper-s3
поддерживает настройку заголовков для файла при загрузке на S3.
https://github.com/balderdashy/skipper
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html