如何通过Firebase管理员访问Google Cloud Storage中的存储桶

时间:2018-08-29 21:36:36

标签: function firebase admin firebase-storage

每个https://firebase.google.com/docs/storage/admin/start下面的代码返回对Google Cloud Storage客户端库中定义的存储桶的引用

var admin = require("firebase-admin"); 
var bucket = admin.storage().bucket()

但是第二行在firebase函数中失败(但是admin.database()起作用),我猜是Google Cloud Storage客户端库未正确导入,根据https://cloud.google.com/storage/docs/reference/libraries可以通过

完成
npm install --save @google-cloud/storage

const Storage = require('@google-cloud/storage');

但是如何将存储与从管理员创建的存储桶相关联?

1 个答案:

答案 0 :(得分:0)

https://www.npmjs.com/package/firebase-admin

使用Firebase管理员解析的默认存储桶:

const bucket = admin.storage().bucket();

使用Firebase管理员解决的自定义存储段:

const bucketName = "my-awesome-bucket";
const bucket = admin.storage().bucket(bucketName);

使用@ google-cloud / storage解决的自定义存储桶:
 (https://www.npmjs.com/package/@google-cloud/storage

const Storage = require('@google-cloud/storage');
const storage = new Storage({projectId: 'myAwesomeProject'});

const bucketName = "my-awesome-bucket";
const bucket = storage.bucket(bucketName);

.bucket()方法都将创建一个Bucket对象,以与Cloud Storage存储桶进行交互。

这是官方文档所说的:

您可以将Admin SDK返回的存储桶引用与正式的Google Cloud Storage客户端库一起使用,以上传,下载和修改与Firebase项目关联的存储桶中的内容。