You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Google Cloud Function向终端用户发送超过4KB的返回数据

可行解决方案

方案1:结果回存Cloud Storage后下发签名URL(最推荐)

Cloud Function拿到Vision API返回的JSON结果后,将完整结果以文件形式存入你正在使用的Google Cloud Bucket,为该文件生成带有效期的签名URL,仅将该URL通过FCM推送给客户端即可。签名URL长度远低于FCM 4000字节的payload限制,客户端收到URL后可自行发起HTTP请求下载完整JSON结果。你可根据业务需要设置签名URL的过期时间,避免资源被未授权访问。

方案2:采用轮询/长连接方案

客户端上传图片时生成唯一的任务ID并返回给客户端,客户端持该ID定期轮询任务状态:Cloud Function处理完成后将JSON结果存入云数据库或缓存服务,客户端轮询到任务完成状态时即可直接拉取完整结果。如果对实时性要求较高,也可以通过WebSocket建立客户端与服务端的长连接,处理完成后直接通过长连接推送结果,无payload大小限制。

关于PubSub方案的说明

PubSub本身的设计定位是服务间通信,直接用于服务到客户端的场景需要额外实现客户端身份校验、消息拉取、断线重连等逻辑,开发和维护成本极高,不推荐使用。

备选同步方案

如果你的图像处理耗时低于Cloud Function的最大超时限制(最高可配置为9分钟),可以直接将Cloud Function设置为HTTP触发,客户端上传图片后同步等待Cloud Function处理完成,直接返回JSON结果,无需额外的消息推送组件,逻辑更简洁。


内容的提问来源于stack exchange,提问作者Throvn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:27:02