Ошибка: «SlowDown: уменьшите частоту запросов». - PullRequest
0 голосов
/ 03 октября 2019

Я работаю над проектом, в котором мне нужно загрузить каталог, в котором есть подкаталоги, и в каждом каталоге есть несколько файлов. Общее количество файлов в каталоге варьируется от 10k до 100k.

Я использую модуль aws-sdk в NodeJs для загрузки файлов.

import * as aws from "aws-sdk";    
const filesToUpload = await getFiles(path.resolve(__dirname, `${uploadFolder}/${dir_id}`));
    return new Promise((resolve, reject) => {
        async.eachOfLimit(filesToUpload, 10, async.asyncify(async (file) => {
            let Key = file.replace(`${rootFolder}/`, '');
            Key = `${getCloudLocation(CLOUD_FOLDER)}/${Key}`;
            return new Promise((res, rej) => {
                s3.upload({
                    Key,
                    Bucket: BUCKET,
                    ContentEncoding: 'gzip',
                    Body: fs.readFileSync(file),
                    ACL: 'public-read'
                }, (err) => {
                    if (err) {
                        return rej(new Error(err));
                    }
                        res({ result: true });
                });
            });
        }), (err) => {
            if (err) {
                return reject(new Error(err));
            }
            resolve({ result: true });
        });
    });

Во время выполнения кода я получаю следующееошибка Ошибка: SlowDown: Пожалуйста, уменьшите частоту запросов.

Есть ли другой способ сделать это без получения ошибки? как архивирование и разархивирование после загрузки на s3.

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