【问题标题】:how to access bucket in Google Cloud Storage via Firebase admin如何通过 Firebase 管理员访问 Google Cloud Storage 中的存储桶
【发布时间】:2019-02-04 18:31:34
【问题描述】:

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

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

但是第二行在 firebase 函数中失败(但是 admin.database() 有效),我猜是谷歌云存储客户端库没有正确导入,根据https://cloud.google.com/storage/docs/reference/libraries 可以通过

npm install --save @google-cloud/storage

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

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

【问题讨论】:

    标签: function firebase admin firebase-storage


    【解决方案1】:

    (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();
    
    const bucketName = "my-awesome-bucket";
    const bucket = storage.bucket(bucketName);
    

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

    这两种方法都创建了一个存储桶对象,如其文档中所述:

    官方文档是这么说的:

    您可以将 Admin SDK 返回的存储桶引用与官方 Google Cloud Storage 客户端库结合使用,以上传、下载和修改与您的 Firebase 项目关联的存储桶中的内容。 p>

    【讨论】:

    • 你能告诉我这两种方法的区别吗?哪个更好,为什么
    • 唯一的区别是 Firebase admin 只能在服务器端环境中使用。 Firebase 管理员围绕着 Google Cloud SDK。
    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2023-02-21
    • 1970-01-01
    • 2019-07-30
    • 2021-03-06
    相关资源
    最近更新 更多