如何在存储上创建具有完全读/写管理功能的Firebase Cloud功能?

问题描述 投票:0回答:1

我创建了一些使用Firebase SDK从firebase存储上传和下载带有云功能的文件的功能。我希望以管理员身份执行这些功能,这样他们就不需要遵守存储规则了。

我已经用admin SDK替换了firebase SDK,但我发现我的firebase.storage()。ref引用不再有用了,通过阅读一些文档我已经意识到我现在需要使用google云服务系统。

所以我的问题是,有没有办法让云功能在整个firebase项目上拥有管理员权限而无需切换到谷歌云功能,如果没有,是否有工作可以做到这一点,以便我可以以某种方式授权我的云功能是对整个存储具有完全读/写功能吗?我很困惑!

这是我的代码片段:

const firebase = require('firebase-admin');

const functions = require('firebase-functions');

require("firebase-admin")
require("firebase")
require("firebase/storage");

var serviceAccount = require("serviceAccount.json");

var config = {
    [...]
    credential: firebase.credential.cert(serviceAccount)
  };
  firebase.initializeApp(config);

  var storage = firebase.storage();
  var storageRef = storage.ref(); //This returns .ref() is not a function
node.js firebase google-cloud-storage google-cloud-functions firebase-admin
1个回答
0
投票

Firebase客户端库不适用于后端服务器环境。 Firebase Admin SDK适用于后端,但访问云存储的API与客户端SDK不同。 Admin SDK只是wraps云存储服务器SDK。因此,对于节点环境,您实际上只是要使用Cloud Storage Node.js client

你打电话的时候:

const admin = require('firebase-admin')
const storage = admin.storage()

你从节点SDK获得一个Storage对象。它没有ref()方法。你将需要获得一个Bucket对象并使用它:

const bucket = storage.bucket()

从这里开始,您应该继续使用我链接到的API文档。

© www.soinside.com 2019 - 2024. All rights reserved.