Abd*_*naf 6 node.js npm google-cloud-storage gcloud-node
我需要从谷歌云存储中删除多个对象.我一次删除了一个对象.
这是我的代码:
var gcloud = require('gcloud')({
projectId: "sampleProject1"
});
var gcs = gcloud.storage();
var myBucket = gcs.bucket('sampleBucket1');
var file = myBucket.file('1.png');
file.delete(function (err, apiResponse) {
if (err) {
console.log(err);
}
else {
console.log("Deleted successfully");
}
});
Run Code Online (Sandbox Code Playgroud)
但我需要同时删除多个对象.有可能吗?
我们确实有bucket#deleteFiles可以处理对您的请求的限制。您可以使用该prefix选项通过命名约定来定位多个图像,例如:
bucket.deleteFiles({ prefix: 'image-' }, callback);
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,我们还有一个指南,显示您如何自己执行节流逻辑。请参阅“我的请求返回错误,指示我重试请求”:https : //googlecloudplatform.github.io/gcloud-node/#/docs/v0.29.0/guides/troubleshooting
编辑以详细说明如何使用async进行节流:
var async = require('async');
var PARALLEL_LIMIT = 10;
function deleteFile(file, callback) {
file.delete(callback);
}
async.eachLimit(filesToDelete, PARALLEL_LIMIT, deleteFile, function(err) {
if (!err) {
// Files deleted!
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1813 次 |
| 最近记录: |