diff --git a/root/tasks/lib/s3.js b/root/tasks/lib/s3.js index cf51630..eda2334 100644 --- a/root/tasks/lib/s3.js +++ b/root/tasks/lib/s3.js @@ -45,8 +45,11 @@ var download = async function (Bucket, Key) { }; // get a single page of results from S3 -var getRemote = async function (Bucket, Prefix, Marker = null) { - var results = await s3.send(new ListObjectsV2Command({ Bucket, Prefix, Marker })); +var getRemote = async function (Bucket, Prefix, next = undefined) { + var input = { Bucket, Prefix }; + if (next) input.ContinuationToken = next; + var command = new ListObjectsV2Command(input); + var results = await s3.send(command); var items = (results.Contents || []).map(function (obj) { return { file: obj.Key.replace(/.*\/synced\//, ""), @@ -55,7 +58,7 @@ var getRemote = async function (Bucket, Prefix, Marker = null) { mtime: obj.LastModified, }; }).filter((i) => i.size); - var next = results.IsTruncated ? items[items.length - 1].key : null; + var next = results.IsTruncated ? results.NextContinuationToken : null; return { items, next }; };