首页 > 解决方案 > 用户删除帐户时使用云功能删除 Firebase Storage 文件夹

问题描述

我对云功能非常陌生,当他们删除帐户时,我试图删除保存在 Firebase 存储文件夹中的用户图像。

我设置了一个触发器,所以当用户删除那里的帐户时,我得到了用户的 UID

然后我得到我的 Firestore 集合的完整路径,我保存了所有图像 url

之后在 forEach 循环中,我在每个图像上调用 delete,但我在终端中收到以下错误,我正在使用 javascript

>  (node:6118) UnhandledPromiseRejectionWarning: Error: Not Found
>      at processTicksAndRejections (internal/process/task_queues.js:97:5)
 

我对这一切都很陌生,所以感谢任何帮助我的代码是

const functions = require("firebase-functions");
const admin = require("firebase-admin");
const { firestore, auth } = require("firebase-admin");
const { Storage } = require('@google-cloud/storage');
const { user } = require("firebase-functions/lib/providers/auth");

admin.initializeApp();

exports.deleteAllConversati = functions.auth.user().onDelete(async (user) => {
 
    
 const snap = await  admin.firestore().collection(`app_users/cv_Images/user_uid_${user.uid}`).get()
     const bucket = admin.storage().bucket();
     let deletedPomises = [];

 if (snap.size === 0) {
       console.log(`zero`)      
       return null;
   } else {
    snap.forEach( doc => {
        console.log(doc.data().cv_Images)
        const img = doc.data().cv_Images

       return bucket.file(img).delete();
    })
   }
 
    
})

标签: javascriptfirebasevisual-studiogoogle-cloud-functionsfirebase-storage

解决方案


推荐阅读