每次在Firestore中的集合中添加新文档时,我都试图创建一个在Firebase Storage中写入文件的云功能
我的伪代码很简单:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
exports.writeToStorage = functions.firestore.document("problems/{problem_id}").onCreate(
(snap, context) => {
admin.initializeApp();
var storage = admin.storage();
var fileStream = storage.bucket("test").file("test.txt").createWriteStream();
fileStream.write("Hello, World!");
fileStream.on('error', (err) => {
console.error(`${ this.archive }: Error storage file write.`);
console.error(`${ this.archive }: ${JSON.stringify(err)}`);
});
fileStream.end();
}
);
但是以某种方式我无法使其工作,这是我从日志中得到的错误:
{“代码”:403,“错误”:[{“域”:“全局”,“原因”:“禁止”,“消息”:“ xxx-dev-exxxe@appspot.gserviceaccount.com不拥有对test / test.txt的storage.objects.create的访问权限。 “}
我尝试在Google云控制台上设置IAM角色,并给该帐户和默认的firebase-admin-sdk帐户“存储管理员”角色,但是仍然出现相同的错误