Создайте файл в каталоге Cloud Functions / temp

#javascript #node.js #google-cloud-functions

#javascript #node.js #google-cloud-функции

Вопрос:

Я пытаюсь создать файл, в котором хранится информация о комнате, чтобы я мог использовать его в других функциях

У меня есть следующий код

 const fs = require('fs')
const { tmpdir } = require('os');
fs.writeFileSync(`${tmpdir}/room-keys.tmp`, `${room.key}n`, (err) => {
        if (err) throw err
        functions.logger.info(`New room registered, ${JSON.stringify(room)}`)
     })
  

Каждый раз, когда я пытаюсь создать файл, он возвращает ошибку, в которой говорится, что каталог не существует

Ответ №1:

Во-первых, вы неправильно используете os.tmpdir импорт. Если вы хотите сгенерировать путь к временному каталогу, вы должны сделать это следующим образом:

 const os = require('os');
const path = require('path');
const tmp = os.tmpdir();
const file = path.join(tmp, "file.ext");
  

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