Firebase:云函数+存储读取文件
Firebase: Cloud Functions + Storage Read File
我目前正在 Firebase Functions 中编写一个函数,以便在我的 Firebase 移动应用程序中调用。我有调用函数的代码,但我不知道如何让这个函数与 Firebase 存储交互。
我有一个 JSON 文件 (300KB) public 非敏感信息存储在 Firebase 存储桶中。根据用户输入,我将 select 此 JSON 文件的特定属性和 return 结果提供给用户。但是,我不知道如何从我的 Firebase 函数代码中读取这个文件。我该怎么做?另外,如果有人知道更划算的方法,请告诉我!!
exports.searchJSON = functions.https.onCall((data, context) => {
const keyword = data.searchTerm
//search the JSON file that is present in the storage bucket
//save the sliced JSON object as a variable
//return this to the user
})
您有 2 个选项可以使用。请参阅下面的选项。
Firebase 管理员
const { initializeApp } = require('firebase-admin/app');
const { getStorage } = require('firebase-admin/storage');
initializeApp({
storageBucket: '<BUCKET_NAME>.appspot.com'
});
const bucket = getStorage().bucket().file("<FILE-PATH>")
.download(function (err, data) {
if (!err) {
var object = JSON.parse(data)
console.log(object);
}
});
确保您已安装 Admin SDK module。
npm i firebase-admin
Google 云存储 SDK
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const fileBucket = '<BUCKET-NAME>.appspot.com';
const filePath = '<FILE-PATH>';
const bucket = storage.bucket(fileBucket);
const file = bucket.file(filePath);
file.download()
.then((data) => {
const object = JSON.parse(data);
console.log(object);
});
确保您已经安装了 @google-cloud/storage
模块:
npm i @google-cloud/storage
有关更多信息,您可以查看这些文档:
我目前正在 Firebase Functions 中编写一个函数,以便在我的 Firebase 移动应用程序中调用。我有调用函数的代码,但我不知道如何让这个函数与 Firebase 存储交互。
我有一个 JSON 文件 (300KB) public 非敏感信息存储在 Firebase 存储桶中。根据用户输入,我将 select 此 JSON 文件的特定属性和 return 结果提供给用户。但是,我不知道如何从我的 Firebase 函数代码中读取这个文件。我该怎么做?另外,如果有人知道更划算的方法,请告诉我!!
exports.searchJSON = functions.https.onCall((data, context) => {
const keyword = data.searchTerm
//search the JSON file that is present in the storage bucket
//save the sliced JSON object as a variable
//return this to the user
})
您有 2 个选项可以使用。请参阅下面的选项。
Firebase 管理员
const { initializeApp } = require('firebase-admin/app'); const { getStorage } = require('firebase-admin/storage'); initializeApp({ storageBucket: '<BUCKET_NAME>.appspot.com' }); const bucket = getStorage().bucket().file("<FILE-PATH>") .download(function (err, data) { if (!err) { var object = JSON.parse(data) console.log(object); } });
确保您已安装 Admin SDK module。
npm i firebase-admin
Google 云存储 SDK
const {Storage} = require('@google-cloud/storage'); const storage = new Storage(); const fileBucket = '<BUCKET-NAME>.appspot.com'; const filePath = '<FILE-PATH>'; const bucket = storage.bucket(fileBucket); const file = bucket.file(filePath); file.download() .then((data) => { const object = JSON.parse(data); console.log(object); });
确保您已经安装了
@google-cloud/storage
模块:npm i @google-cloud/storage
有关更多信息,您可以查看这些文档: