У меня есть приложение nodejs.Я использую для обслуживания изображений из aws-s3, используя aws-sdk
.
Проблема в том, что запрос изображения занимает слишком много времени (время ожидания на картинке - зеленая полоса)
Вот моя функция обработчика для доступа S3 и отправки ответа:
router.get('/image/:fileKey', (req, res) => {
const Key = req.params.fileKey;
const options = {
Bucket: config.bucket,
Key,
};
s3.getObject(options)
.on('httpHeaders', function(code, headers) {
if (code < 300) {
res.set(
_.pick(headers, 'content-type', 'content-length', 'last-modified')
);
}
})
.createReadStream()
.on('error', (err) => {
console.log({ err });
res.status(404).end();
})
.pipe(res);
});
Есть ли способ оптимизировать запрос, чтобы иметь меньшее время ожидания ?