Поток чтения файла из конвейера в вызываемой функции Firebase - PullRequest
0 голосов
/ 10 июля 2019

У меня есть Firebase вызываемая функция , которая определяется следующим образом:

exports = module.exports = functions.https.onCall((data, context) => {
    // ...
})

Я пытаюсь направить поток чтения файла (чтение из хранилища Firebase) вответ моей вызываемой функции , как я это делаю в этой http функции :

exports = module.exports = functions.https.onRequest((req, res) => {
    const file = defaultStorageBucket.file(`/reports/myReport.pdf`);
    const readStream = file.createReadStream();
    readStream.pipe(res)
});

Можно ли этого достичь и как?Я заметил, что аргумент context содержит свойство rawRequest , которое содержит Response , но я не уверен, как его использовать.

Моя конечная цельначать немедленную загрузку файла на клиенте моего приложения Firebase.

1 Ответ

1 голос
/ 11 июля 2019

Это плохой вариант использования для вызываемой функции.Вызываемые функции всегда возвращают данные типа JSON, и эти данные автоматически сериализуются функцией, используя возвращаемое вами значение.Данные трубопровода не поддерживаются.Если вы действительно хотите вернуть содержимое некоторого произвольного файла из вызываемой функции, вам нужно будет прочитать все содержимое файла в памяти, закодировать его как строку, поместить эту строку в объект JavaScript и вернуть объект,Это на самом деле не то, для чего предназначены вызываемые функции - в этом случае лучше придерживаться обычной функции типа HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...