Облачные функции для Firebase: чтение всей базы данных в память
Я хотел бы прочитать всю базу данных Firebase в переменную из внутренней облачной функции следующим образом:
exports.transformUserData = functions.https.onRequest((request, response) => {
admin.database().ref('/').on('value', function (snapshot) {
var dbData = snapshot.val();
...
});
...
});
Это безопасно? (С точки зрения стоимости памяти или доллара скорость не является проблемой в этом случае).
Я ожидаю, что функция потерпит крах, когда моя база данных увеличится из-за ошибки нехватки памяти. Если это так, то при каком пределе памяти мы можем ожидать его сбой? (Например, 10 МБ).
Заранее благодарю за любой совет!
1 ответ
Технически полностью возможно прочитать все данные из вашей базы данных Firebase в память.
Пока процесс хостинга имеет достаточно памяти, это будет работать. Если памяти недостаточно, скрипт будет аварийно завершен.
Невозможно сказать, при каком объеме памяти произойдет сбой, поскольку это зависит от размера данных JSON, формата данных (многие маленькие узлы будут использовать больше памяти, чем один большой узел) и других факторов.