#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");
Во-вторых, вы не должны ожидать, что временный каталог будет присутствовать для будущих вызовов функций. Он также вообще не используется между различными развернутыми функциями. Он должен использоваться только во время обработки одного запроса и удаляться до завершения работы функции. Это файловая система, основанная на памяти, поэтому запись файлов в нее потребляет память.