Я пытаюсь получить некоторые файлы из корзины S3, но файлы настроены как личные. В настоящее время я использую ListObjects для получения всех файлов в моем сегменте, но в наборе результатов он не включает подписанный URL-адрес, и, поскольку файл является частным, я не могу отобразить его на своем веб-сайте.
Я использую mongoDB Stitch для подключения к своему ведру S3.
Вот мой код, который извлекает все файлы из моего ведра.
const aws = this.client.getServiceClient(AwsServiceClient.factory, "TESTAPP");
const args = {
Bucket: bucketName,
Prefix: folderName
};
const request = new AwsRequest.Builder()
.withService('s3')
.withAction('ListObjects')
.withArgs(args);
aws.execute(request.build())
.then(result => {
console.log(result);
}
Когда я смотрю console.log, я вижу всю информацию о файле, но я пытаюсь получить доступ к файлу, поскольку это частный файл, я получаю сообщение об ошибке, что у меня нет к нему доступа.
Мне нужно сделать еще один вызов, чтобы получить подписанный URL-адрес, или можно получить все сразу?
https://s3.amazonaws.com/{bucket}/{key}
- это имя объекта, которое я получаю для переменной результата. - person Ennio   schedule 26.10.2018