我有一个onDelete触发函数,用于删除文件夹中的所有文件,我按照GDE上的这篇帖子关注它:https://medium.com/google-developer-experts/automatically-delete-your-firebase-storage-files-from-firestore-with-cloud-functions-for-firebase-36542c39ba0d
我初始化我的应用
const admin = require('firebase-admin');
admin.initializeApp();
然后使用我的onDelete函数
const functions = require('firebase-functions');
const {deleteFiles} = require('../helpers/storageService');
module.exports = functions.firestore.document("designs/{userId}/designs/{designId}").onDelete((snap, context) => {
console.log("triggered");
context.params;
return deleteFiles(context.params)
});
一切正常,但是在deleteFiles函数中失败
exports.deleteFiles = async function(params) {
return admin.storage().bucket().deleteFiles({
prefix: `designs/${params.userId}/designs/${params.designId}"`
})
};
函数的这一部分运行时,失败,并显示Bucket name not specified or invalid. Specify a valid bucket name via the storageBucket option when initializing the app
。
有人知道这里发生了什么吗?据我所知,初始化时不需要向Admin SDK提供凭据,因为触发器已经具有足够的凭据。