正如Firebase文档所述,从前端发送到Firebase函数的请求有10 MB的限制。是否有一种方法可以压缩发送到函数的JSON数据,以规避此限制。有一些未记录的参数可以传递到httpsCallable
函数中,我想知道是否可以传递一个gzip或类似的参数:
var test = firebase
.functions()
.httpsCallable("test", { timeout: 360000, compresslevel=6, ... });
客户端或服务器端的函数SDK中没有任何内置的功能。如果您在一个请求中发送那么多JSON,我建议将该JSON存储在另一个介质(如云存储(上,并将该位置的详细信息发送到云函数中。
也就是说,我想Firebase的云功能人员会很乐意接受任何PR实现它。:(
没有任何特殊的参数可以为您压缩负载。但是,在将整个参数传递给客户端上的call()
之前,您当然可以对其进行压缩,并在后端函数中接收到它时对其进行解压缩。然而,由于可调用函数只接受JSON作为输入,因此在传递压缩参数之前,您还必须将其转换为字符串,这将为其添加一些大小。