Удалять более 1000 записей за раз из корзины S3 - PullRequest
0 голосов
/ 05 мая 2020

Необходимо удалить более 1000 записей из ведра s3, но он отклоняет обещание и получает ошибку, как указано ниже.

 async function removeS3Objects(audios) {
    //more than 1000 records are in audios
    audios = audios.map(item => {
      return {
        Key: item.Key
      };
    });
    let params = {
      Bucket: config.get("s3BucketName"),
      Delete: {
        Objects: audios,
        Quiet: false
      }
    };
    return new Promise((resolve, reject) => {
      s3.deleteObjects(params, function (err, data) {
        if (err) {
          reject(err);
        } else {
          resolve(data);
        }
      });
    });
  }

ошибка при удалении

the xml you provided was not well-formed or did not validate against our published schema

1 Ответ

5 голосов
/ 05 мая 2020

Вы не можете удалить более 1000 объектов за один вызов API.

Прямо из документации

Запрос содержит список up до 1000 ключей , которые вы хотите удалить

Если вы хотите удалить более 1000 ключей, вам нужно будет сделать несколько вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...