繁体   English   中英

如何批量删除 Google Cloud Storage 中的文件? (节点.js)

[英]How to delete files from Google Cloud Storage in a batch? (Node.js)

我正在尝试“同时”从 gc 存储中批量删除 2 个取决于自身的文件。 到目前为止,我一直在做这样的事情:

exports.deleteImageFromBucket = async function (uri, bucket) {
  const imagePath = getStoragePathFromUrl(uri);

  try {
    await bucket.file(imagePath).delete();
  } catch (err) {
    console.error(`Error deleting image ${uri} from storage`);
    throw err;
  }
}; 

但是,由于我有图像和它们各自的缩略图,如果我两次调用此函数并且其中一个拒绝,这将导致糟糕的用户体验。

有任何想法吗?

据我所知,Cloud Storage 没有批量删除功能。 这意味着您必须:

  1. 执行两个单独的删除调用。
  2. 确保任何加载图像的代码都足够健壮,可以处理这些图像中只有一个缺失的情况。 您通常可以通过按特定顺序删除图像来减少这种影响。 例如:如果用户从缩略图中找到全尺寸图像,则首先删除缩略图可确保即使全尺寸图像留在后面,应用程序仍然可以运行。
  3. 运行定期过程以删除孤立文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM