Я пытаюсь получить заранее заданные URL-адреса для файлов из моего хранилища S3.Я могу прочитать файлы и получить список содержимого файла, но при попытке создать предварительно назначенный URL-адрес я получаю код состояния 500 следующим образом:
reports.get('/xxx', async (req, res) => {
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
var params = {
Bucket: config.xxx,
Key: 'xxx/xxx.json',
Expires: 60 * 5
}
try {
s3.getSignedUrl(params, function (err, url) {
if(err)throw err;
console.log(url)
res.json(url);
});
}catch (err) {
res.status(500).send(err.toString());
}
});
Учетные данные по умолчанию соответствуют тем, которые хранятся на моем компьютеречерез aws configure
и работать для всех других моих запросов API к той же корзине S3.
Ошибка, возвращаемая во внешнем интерфейсе, говорит: Uncaught (in promise) SyntaxError: Unexpected token T in JSON at position 0
.
Это моя реализация интерфейса:
fetch(config.api.urlFor('xxx'))
.then((response) => response.json())
.then((url) => {
console.log(url);
});
Есть идеи, что я делаю неправильно?