Я пытаюсь получить все объекты в папке, хранящейся в моем контейнере S3.
Я пробовал следующее:
const folders = s3.listObjects(params).promise();
Это работает, но проблема в том, что он возвращает только до 1000 папок, а не для всех папок.
Там eachPage
функция, которую я могу добавить к s3.listObjects(params)
, например:
const folders = s3.listObjects(params).eachPage((err, data) => {
if (err) console.log(err, err.stack);
if (data && data.CommonPrefixes) {
return data.CommonPrefixes
}
}
Но она не назначает ее папкам, только console.log, вместо того, чтобы возвращать ее, работает.
Я также пытался добавить new Promise
, но он разрешается только для первой итерации страницы.
function getCommonPrefixes(params) {
return new Promise((resolve, reject) => {
s3.listObjects(params).eachPage((err, data) => {
if (err) reject(err, err.stack);
if (data && data.CommonPrefixes) {
resolve(data.CommonPrefixes)
}
});
});
}