【发布时间】:2021-11-04 13:29:48
【问题描述】:
我想创建一个云函数,当在 Firestore 中删除对象(列表)时,它会自动删除 FirebaseStorage 中关联的图像。
作为上下文,在创建列表时,我们获取该文档 ID 并将其设置为 FirebaseStorage 中子文件夹的名称。
像这样:
所以基本上我在文件夹调用 ListingImages 和每个列表(Firestore 中的文档)内有主存储桶,有一个文件夹。
所以我的最终目标是,当我在 Firestore 中删除具有该 ID 的文档时,它会删除 Firebase 存储中的文件夹及其所有内容。
目前,我有这个云函数代码,但它不起作用:
// Function que elimina imagenes de un Listing cuando es borrado de Firebase.
exports.listingImagesDelete = functions.firestore.document("listings/{listingId}").onDelete((snapshot, context) => {
const listingId = snapshot.id;
const filePath = "ListingImages/" + listingId + "/";
const defaultBucket = admin.storage().bucket();
const file = defaultBucket.file(filePath);
const pr = file.delete();
return pr;
});
但是当我运行它(从 Firestore 中删除列表)时,它给了我这个错误:
看起来好像没有对象,虽然有一个文件夹。
关于如何完成这项任务的任何想法?
【问题讨论】:
标签: node.js firebase google-cloud-firestore google-cloud-functions google-cloud-storage