我看到很多关于将存储与云函数一起使用的有争议的文档。我真的不明白我应该使用哪个文档。无论如何,我想我已经尝试了所有这些方法,但没有任何效果。请帮助我。 例如:我正在尝试使用此文档:https://firebase.google.com/docs/storage/admin/start
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const database = admin.database();
var bucket = admin.storage().bucket("my-custom-bucket");
我有错误
未处理的错误类型错误:storage.bucket 不是一个函数
如果我看到这个文档:https://firebase.google.com/docs/storage/extend-with-functions。
什么?
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const database = admin.database();
const gcs = require('@google-cloud/storage')(); //!!! - is it mistype?
const spawn = require('child-process-promise').spawn;
const path = require('path');
const os = require('os');
const fs = require('fs');
const bucket = gcs.bucket('fileBucket');
类型错误:require(...( 不是一个函数
但无论如何,即使输入错误,它也将是下一个错误:
类型错误:gcs.bucket 不是一个函数
是的,我确实安装了:
npm install --save child-process-promise
npm install --save @google-cloud/storage
有人知道如何使用它吗?或者正确的文档在哪里?
这可能与云函数无关。
首先,您应该知道Firebase Admin SDK只是包装了Cloud Storage SDK。 它最终公开所有相同的对象和 API。
其次,要知道 2.0.0 版的 Cloud Storage SDK for node 在你使用其 API 的方式上引入了一些重大的重大重大更改。 比较导入库的旧方法和新方法。
管理员 SDK(以及您正在查看的文档(都是针对 1.7.0 的旧方式构建的。 如果您手动将 Cloud Storage 更新到 2.0.0,则管理 SDK 可能会因此更改而中断,因为从 Cloud Storage SDK 导出的主要对象不同。
您应该使用管理 SDK,而不更新云存储依赖项,或者跳过管理 SDK 而直接使用 Cloud Storage SDK。