Я хочу удалить несколько объектов из моего облачного хранилища Google, что означает удаление папок и файлов в комбинации. В официальной документации есть пример:
bucket.deleteFiles({ prefix: 'image-' }, callback);
Это удалит все файлы в каталоге images
. Но что, если я хочу удалить 10 000 файлов в этом каталоге? Мой демонстрационный код такой:
const _deleteItems = async (gcsClient, bucketName, allItems) => {
try {
for (let item of allItems) {
await gcsClient.bucket(bucketName).deleteFiles({ prefix: getFilePath(item) }, function(err) {});
}
} catch (err) {
throw new Error('Could not delete item');
}
};
Есть ли лучший способ сделать это? Что если кто-то еще тем временем загрузит новый файл в папку, которую я собираюсь удалить? Этот файл также будет удален в этом случае.