Je suis en train de saisir des milliers de fichiers à partir d'Amazon S3 à l'intérieur d'une Promesse, mais je n'arrive pas à comprendre comment inclure le ContinuationToken à l'intérieur si la liste est tronqué et de recueillir tous ensemble au sein de la promesse. Je suis un novice avec JS et pourrait utiliser un peu d'aide. Voici ce que j'ai, à ce jour:
getFiles()
.then(filterFiles)
.then(mapUrls)
;
function getFiles(token) {
var params = {
Bucket: bucket,
MaxKeys: 5000,
ContinuationToken: token
};
var allKeys = [];
var p = new Promise(function(resolve, reject){
s3.listObjectsV2(params, function(err, data) {
if (err) {
return reject(err);
}
allKeys.push(data.Contents)
if (data.IsTruncated) {
s3.listObjectsV2({Bucket: bucket, MaxKeys: 5000, ContinuationToken: data.NextContinuationToken})
console.log('Getting more images...');
allKeys.push(data.Contents)
}
resolve(data.Contents);
});
});
return p;
}
J'ai besoin de la fonction pour continuer l'exécution jusqu'à ce que j'ai créé une liste de tous les objets dans le seau pour le retour.