将存储与 Google Cloud Functions for Firebase 结合使用
Use Storage with Google Cloud Functions for Firebase
我看到很多关于将存储与 Cloud Functions 结合使用的有争议的文档。我真的不明白我应该使用哪个文档。无论如何,我认为我已经尝试了所有这些方法,但没有任何效果。请帮我。
例如:我正在尝试使用此文档: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");
我有错误
Unhandled error TypeError: storage.bucket is not a function
如果我看到这个文档: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');
TypeError: require(...) is not a function
但无论如何,即使输入错误,下一个错误也会是:
TypeError: gcs.bucket is not a function
是的,我确实安装了:
npm install --save child-process-promise
npm install --save @google-cloud/storage
有人知道怎么用吗?或者正确的文档在哪里?
这可能与 Cloud Functions 无关。
首先,您应该知道Firebase Admin SDK 只是包装了Cloud Storage SDK。它最终公开了所有相同的对象和 API。
其次,要知道 2.0.0 版的 Cloud Storage SDK for node 在您使用其 API 的方式上引入了一些重大的破坏性变化。比较导入库的old way to the new way
Admin SDK(以及您正在查看的文档)都是为 1.7.0 的旧方法构建的。如果您手动将 Cloud Storage 更新为 2.0.0,则 Admin SDK 可能会因为此更改而中断,因为从 Cloud Storage SDK 导出的主要对象不同。
您应该在不更新 Cloud Storage 依赖项的情况下使用 Admin SDK,或者跳过 Admin SDK 直接使用 Cloud Storage SDK。
我看到很多关于将存储与 Cloud Functions 结合使用的有争议的文档。我真的不明白我应该使用哪个文档。无论如何,我认为我已经尝试了所有这些方法,但没有任何效果。请帮我。 例如:我正在尝试使用此文档: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");
我有错误
Unhandled error TypeError: storage.bucket is not a function
如果我看到这个文档: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');
TypeError: require(...) is not a function
但无论如何,即使输入错误,下一个错误也会是:
TypeError: gcs.bucket is not a function
是的,我确实安装了:
npm install --save child-process-promise
npm install --save @google-cloud/storage
有人知道怎么用吗?或者正确的文档在哪里?
这可能与 Cloud Functions 无关。
首先,您应该知道Firebase Admin SDK 只是包装了Cloud Storage SDK。它最终公开了所有相同的对象和 API。
其次,要知道 2.0.0 版的 Cloud Storage SDK for node 在您使用其 API 的方式上引入了一些重大的破坏性变化。比较导入库的old way to the new way
Admin SDK(以及您正在查看的文档)都是为 1.7.0 的旧方法构建的。如果您手动将 Cloud Storage 更新为 2.0.0,则 Admin SDK 可能会因为此更改而中断,因为从 Cloud Storage SDK 导出的主要对象不同。
您应该在不更新 Cloud Storage 依赖项的情况下使用 Admin SDK,或者跳过 Admin SDK 直接使用 Cloud Storage SDK。