我正在创建一个应用程序,允许用户将图片上传到云存储,云函数在处理用户上传的图片后返回文件/或JSON响应。
以下是一个完整的过程:用户上传上传到云存储中的数据->数据->由云函数处理->结果导出到云存储/或返回JSON响应到用户终端设备(app)
下一步是在处理完数据并导出到云存储后,在客户端下载数据(或获取JSON响应)。
这里我的主要问题是,我应该如何承认客户端(app)数据已经在云功能端完成了处理?
我应该在这里使用什么服务?我只限于使用GCP云函数(python环境)。
谢谢。
发布于 2021-07-11 16:07:24
服务器应用程序不能使用标准的HTTP/HTTPS协议向客户端应用程序发送请求。为了实现您想要的结果,您需要在服务器和客户端之间建立一个套接字连接,以便服务器能够在任何时候向客户端发送数据。
解决方案1
如果可能,您可以使用firebase 实时数据库,它将为您进行套接字连接:
当云函数完成数据处理后,它会将响应写入实时数据库中的特定节点(如果希望在客户端下载,则响应可能包含上载的数据URL )。
您可以使用您喜欢的语言(支持python)为您的服务器应用程序设置firebase,并参考本指南来启动这一个。此指南将向您展示如何在实时db上保存数据。
在客户端,您可以对特定节点上的更改进行听以获得云功能响应(每当云函数在实时DB中写入响应时,客户端将接收所编写的数据)。
解决方案2
您可以在功能完成后使用云消息传递向客户端应用程序发送静默/仅数据通知。
解决方案3
服务器应用程序可以使用python WebSocket库,客户端应用程序可以使用android WebSocket库。(但我不推荐给你第三种解决方案)
https://stackoverflow.com/questions/68337248
复制相似问题