Привет всем, я пытаюсь передать некоторые изображения в свою firebase с помощью функций, но когда я развертываю firebase (с развертыванием cli firebase) внутри своего терминала, я получаю сообщение об ошибке, и развертывание прерывается. По-видимому, ошибка говорит, что мой запрос внутри function/index.js не является функцией (строка 9, столбец 45), но gcconfig был выполнен с правильным для меня методом. Я хочу правильно развернуть firebase из CLI.
Ошибка от развертывания cli firebase, которую я получил на своем терминале:
Error: Error occurred while parsing your function triggers.
TypeError: require(...) is not a function
at Object.<anonymous> (/Users/luca/Code/Code_Taff/Benibla/bnblproto/functions/index.js:9:45)
at Module._compile (internal/modules/cjs/loader.js:707:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
at Module.load (internal/modules/cjs/loader.js:605:32)
at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
at Function.Module._load (internal/modules/cjs/loader.js:536:3)
at Module.require (internal/modules/cjs/loader.js:643:17)
at require (internal/modules/cjs/helpers.js:22:18)
at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:15:15
at Object.<anonymous> (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:53:3)
функция/index.js:
const functions = require('firebase-functions');
const cors = require('cors')({origin: true});
const fs = require('fs');
const UUID = require("uuid-v4");
const gcconfig = {
projectId: "beniblaproto",
keyFilename: "beniblaproto.json"
};
const gcs = require("@google-cloud/storage")(gcconfig);
exports.storeImage = functions.https.onRequest((request, response) => {
return cors(request, response, () => {
const body = JSON.parse(request.body);
fs.writeFileSync("/tmp/uploaded-image.jpg", body.image, "base64", err => {
console.info(err);
return response.status(500).json({error: err});
});
const bucket = gcs.bucket("beniblaproto.appspot.com");
const uuid = UUID();
return bucket.upload(
"/tmp/uploaded-image.jpg",
{
uploadType: "media",
destination: "/events/" + uuid + ".jpg",
metadata: {
metadata: {
contentType: "image.jpg",
firebaseStorageDownloadTokens: uuid
}
}
},
(err, file) => {
if (!err) {
response.status(201).json({
imageUrl: "https://firebasestorage.googleapis.con/v0/b" +
bucket.name +
"/o/" +
encodeURIComponent(file.name) +
"?alt=media&token = " +
uuid
});
} else {
console.info(err);
response.status(500).json({error: err});
}
}
);
});
});
если кто-то может объяснить мне, где и за что я терплю неудачу. Всем спасибо, хорошего дня





Во-первых, вам нужно импортировать {Storage} библиотеки;
const {Storage} = require("@google-cloud/storage");
после этого нужно взять экземпляр со своим конфигурационным объектом;
const gcs = new Storage(gcconfig);