如何从谷歌云存储中批量删除文件?(Node.js)
我正在尝试从gc存储中批量“同时”删除2个文件,这取决于文件本身。到目前为止,我一直在做这样的事情:如何从谷歌云存储中批量删除文件?(Node.js),node.js,firebase,google-cloud-platform,google-cloud-storage,firebase-storage,Node.js,Firebase,Google Cloud Platform,Google Cloud Storage,Firebase Storage,我正在尝试从gc存储中批量“同时”删除2个文件,这取决于文件本身。到目前为止,我一直在做这样的事情: exports.deleteImageFromBucket = async function (uri, bucket) { const imagePath = getStoragePathFromUrl(uri); try { await bucket.file(imagePath).delete(); } catch (err) { console.error(
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;
}
};
但是,由于我有图像和它们各自的缩略图,如果我调用此函数两次,其中一次被拒绝,这将导致糟糕的用户体验
有什么想法吗?据我所知,云存储没有批量删除功能。这意味着您必须:
据我所知,云存储没有批量删除功能。这意味着您必须:
您担心的糟糕用户体验是什么?这里您只删除了一个图像?在两个不同的URI(图像和缩略图)上调用此函数2次有什么问题?@Dougstevenson在客户端我有图像组件,它们首先加载缩略图,然后加载hq图像。在我的算法中,我首先删除这两幅图像,然后删除数据库中的相关文档。如果两个映像中的一个在删除时失败,那么我的代码将不会触及数据库并向客户端抛出一个错误,比如说“稍后重试”,以确保存储完全回收(如果用户稍后重试,那么两次删除可能会正常进行,并且存储中不会出现任何不必要的垃圾)...... 但是如果没有批量操作,如果缩略图没有被删除,但是hq图像是的,那么用户将在图像中看到缩略图,并且无法获得完整质量的缩略图(这是一个渐进加载的图像)。您担心的糟糕用户体验是什么?这里您只删除了一个图像?在两个不同的URI(图像和缩略图)上调用此函数2次有什么问题?@Dougstevenson在客户端我有图像组件,它们首先加载缩略图,然后加载hq图像。在我的算法中,我首先删除这两幅图像,然后删除数据库中的相关文档。如果两个映像中的一个在删除时失败,那么我的代码将不会触及数据库并向客户端抛出一个错误,比如说“稍后重试”,以确保存储完全回收(如果用户稍后重试,那么两次删除可能会正常进行,并且存储中不会出现任何不必要的垃圾)...... 但是如果没有批处理操作,如果没有删除缩略图,但是hq图像是,那么用户将在图像中看到缩略图,并且无法获得完全质量的缩略图(这是一个渐进加载的图像)