如何在 Cloud Function 中触发 Firestore onDelete 后删除存储在 Firebase 存储中的图像?
How to delete image stored in Firebase storage after triggering Firestore onDelete in Cloud Function?
我想使用云功能后台触发器,所以当我在 Firestore 中删除用户数据时,我想同时删除他们在 Firebase 存储中的个人资料图片。
用户ID用作该图片的图像名称。图像位于 profilepicture 文件夹内
export const removeProfilePictureWhenDeletingUserData = functions.firestore
.document('userss/{userID}')
.onDelete((snap, context) => {
const userID = context.params.userID
// how to delete the image in here?
});
我已经尝试阅读文档,但我对如何实现该方法感到困惑:(。真的需要你的帮助。提前致谢
以下 Cloud Function 代码将完成这项工作。
// 根据 Doug 在评论中的建议改编 //
....
const admin = require('firebase-admin');
admin.initializeApp();
....
var defaultStorage = admin.storage();
exports.removeProfilePictureWhenDeletingUserData = functions.firestore
.document('users/{userID}')
.onDelete((snap, context) => {
const userID = context.params.userID;
const bucket = defaultStorage.bucket();
const file = bucket.file('profilePicture/' + userID + '.png');
// Delete the file
return file.delete();
});
有关更多详细信息,请参阅以下文档项目:
https://firebase.google.com/docs/reference/admin/node/admin.storage.Storage
https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/File#delete
我想使用云功能后台触发器,所以当我在 Firestore 中删除用户数据时,我想同时删除他们在 Firebase 存储中的个人资料图片。
用户ID用作该图片的图像名称。图像位于 profilepicture 文件夹内
export const removeProfilePictureWhenDeletingUserData = functions.firestore
.document('userss/{userID}')
.onDelete((snap, context) => {
const userID = context.params.userID
// how to delete the image in here?
});
我已经尝试阅读文档,但我对如何实现该方法感到困惑:(。真的需要你的帮助。提前致谢
以下 Cloud Function 代码将完成这项工作。
// 根据 Doug 在评论中的建议改编 //
....
const admin = require('firebase-admin');
admin.initializeApp();
....
var defaultStorage = admin.storage();
exports.removeProfilePictureWhenDeletingUserData = functions.firestore
.document('users/{userID}')
.onDelete((snap, context) => {
const userID = context.params.userID;
const bucket = defaultStorage.bucket();
const file = bucket.file('profilePicture/' + userID + '.png');
// Delete the file
return file.delete();
});
有关更多详细信息,请参阅以下文档项目:
https://firebase.google.com/docs/reference/admin/node/admin.storage.Storage
https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/File#delete