Firebase Cloud 函数 - @google-cloud/storage 初始化



这里是第一个问题。

我正在尝试编写一个火碱云函数来压缩文件。我在网上浏览了很多示例,但我的代码一直卡在两点上。

1.const {gcs} =require('@google-cloud/storage')();

当我在 require 中使用此结构时,出现以下错误

类型错误:require(...( 不是一个函数

如果我将其更改为const {gcs} =require('@google-cloud/storage');错误消失了,但显然对象没有初始化,因为当我尝试像这样访问它时我会收到此错误

类型错误:无法读取未定义的属性"存储桶" at exports.onfilechangecompressor.functions.storage.object.onFinalize.object (/user_code/索引.js:21:27( at cloudFunctionNewSignature (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:105:23( at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:135:20( at/var/tmp/worker/worker.js:733:24 在process._tickDomainCallback(内部/进程/next_tick.js:135:7(

这是我像这样使用 gcs 的行

const destBucket = gcs.bucket(bucket);其中 bucket 是返回的对象.bucket(对象由 onFinalize 返回(。

有人可以告诉我如何初始化存储以便它工作并返回一个有效的对象。

我的节点.js版本是 8.12.0 Firebase 版本是 5.1.1

2.x 的文档显示了这一点:

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

您在要求之后添加(),发现该要求不正确。

然后,您继续像这样初始化它:

// Your Google Cloud Platform project ID
const projectId = 'YOUR_PROJECT_ID';
// Creates a client
const storage = new Storage({
projectId: projectId,
});

如果您在 Cloud Functions 或其他 Google 环境中运行,则可能不需要指定项目 ID。

之后,您可以获取对默认存储桶的引用:

storage.bucket()

您还可以使用管理员 SDK 调用相同的云存储 API:

const admin = require('firebase-admin');
admin.initializeApp();
const storage = admin.storage();
storage.bucket();

相关内容

  • 没有找到相关文章

最新更新