Tengo una función invocable de firebase que toma datos de una base de datos en la nube sql (mysql).
este es el codigo:
// Get records exports.getRecords = functions.region("europe-west1").https.onCall((data, context) => { // get data const table_name = data.table_name return mysqlPromise.createPool(db.connectionOptions) .then(pool => { return pool.query(` SELECT * FROM ${table_name};` ) }) .then(res => { return { result: res }; }) .catch(error => { throw new functions.https.HttpsError('failed-precondition', error); }); });Si ejecuto la función en una tabla con pocas filas (hasta 10000) funciona perfectamente, pero si la tabla es más grande (100K registros) la ejecución falla mostrando un "error CORS".
Al analizar la respuesta, noté que el tamaño de la respuesta en una consulta que requiere 100 000 filas es de alrededor de 25 MB .
Sé que la cuota límite de las funciones de firebase es de 10 MB para cada respuesta, y estoy bastante seguro de que el error se debe a eso (incluso si CORS suena extraño).
La pregunta es:
"¿Hay alguna forma de ejecutar esa consulta que me devuelve un json de 100k filas?"
tal vez tengo que comprimir la respuesta o sino… ¿cuál es la mejor solución?
¡Gracias por adelantado! :)