Загрузка непосредственно из временной папки функции firebase

#javascript #firebase #google-cloud-functions #firebase-storage

# #javascript #firebase #google-cloud-функции #firebase-хранилище

Вопрос:

Мне интересно, возможно ли и безопасно загружать файл непосредственно из папки firebase functions temp? У меня есть функция firebase, которая генерирует PDF-файл во временной папке при запуске из приложения (например, через httpsCallable ). Возможно ли, чтобы пользователь приложения напрямую загружал сгенерированный PDF-файл из папки temp, или функция должна выполнить дополнительный шаг сохранения файла в хранилище firebase перед загрузкой? Я не видел примеров первого. В моем случае нет необходимости сохранять файл pdf после его загрузки, поэтому я не вижу смысла загружать его в хранилище, если его можно загрузить прямо из папки temp.

Комментарии:

1. Да, вы можете абсолютно загрузить PDF-файл из папки temp в ответ на вызов функции.

Ответ №1:

Возможно ли, чтобы пользователь приложения напрямую загружал сгенерированный файл pdf из папки temp

Нет, это невозможно. Файловая система /tmp доступна только для экземпляра сервера, который ее создал, и она полностью хранится в памяти этого экземпляра. Он не доступен напрямую нигде, кроме этого.

нужно ли функции выполнять дополнительный шаг по сохранению файла в хранилище firebase перед загрузкой?

Если вы хотите сохранить файл в облачном хранилище, вам нужно будет использовать SDK для облачного хранилища, чтобы загрузить туда файл. Это необязательный шаг — вы в конечном итоге потеряете это содержимое в памяти, если не сохраните его где-нибудь постоянно.

Комментарии:

1. Спасибо, Дуг, я подозревал, что это так, но не был уверен на 100%.

2. «Файловая система / tmp доступна только для экземпляра сервера, который ее создал», поэтому после выполнения функции папка / tmp автоматически очищается? Потому что здесь firebase.google.com/docs/functions /… Я обнаружил, что должен сделать это вручную, но нигде не могу найти, как это сделать.

3. @jeand’arme Делайте все, что вы обычно делаете в nodejs, для удаления файлов. В удалении файлов в облачных функциях нет ничего особенного.