У меня есть облачная функция firebase, которая будет вызываться по HTTP-запросу, который работает нормально.
Теперь я хочу прочитать данные из файла JSON для некоторой бизнес-логики. Ниже приведены два способа чтения файла JSON:
Вариант № 1) Сохранил файл JSON в директории public в моем проекте nodejs и развернул. Получил URL хостинга, который я использую, как показано ниже. Но выдает ошибку: «Ошибка: getaddrinfo ENOTFOUND ...»
Вариант № 2) Загрузил файл JSON в облачное хранилище Firebase. Не нашел ни одного примера, чтобы попробовать это. Завершается приведенным ниже кодом:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const Firestore = require('@google-cloud/firestore');
const firestore = new Firestore();
const http = require('http');
const url = require('url');
// Option #2 required variables
var storage = require('@google-cloud/storage');
const gcs = storage({projectId: "<Project ID>"});
const bucket = gcs.bucket("<bucket-name>");
const file = bucket.file("<filename.json>")
// HTTP Trigger
exports.functionName = functions.https.onRequest((req, res) => {
var request = require('request');
var paramValue = req.body.queryParam;
console.log(paramValue);
// Option #1 - Using hosted URL
var hostingURL = "https://xxxxxxxx.firebaseapp.com/filename.json";
console.log(hostingURL);
request({
url:hostingURL,
method: 'POST',
json:{ key: 'value' } },function(error, response, data) {
});
// Option #2 - Ended up here. Want to read from cloud storage bucket.
console.log(file);
});
Может ли кто-нибудь мне помочь?