Google cloud platform 如何从Google云平台服务调用桌面应用程序?
我正在构建一个桌面客户端应用程序(win/linux/mac),后端托管在GCP中(我也在考虑其他云平台)。桌面应用程序应该是最低限度的,并提供对后端本地机器资源的访问。我正在寻找一种从服务器调用我的应用程序的方法(当一些事件发生时),然后应用程序将在本地机器上执行一些工作。这是我到目前为止试过的Google cloud platform 如何从Google云平台服务调用桌面应用程序?,google-cloud-platform,websocket,architecture,google-cloud-pubsub,Google Cloud Platform,Websocket,Architecture,Google Cloud Pubsub,我正在构建一个桌面客户端应用程序(win/linux/mac),后端托管在GCP中(我也在考虑其他云平台)。桌面应用程序应该是最低限度的,并提供对后端本地机器资源的访问。我正在寻找一种从服务器调用我的应用程序的方法(当一些事件发生时),然后应用程序将在本地机器上执行一些工作。这是我到目前为止试过的 。看起来它满足了我的需要,但要让它发挥作用,我必须创建一个服务帐户,生成JSON密钥并将其存储在本地,这并不好。当然,我可以限制服务帐户的访问权限,但对我来说还是不太好。也许还有其他方法来验证在最终用
您对上述选项有何看法,还有哪些其他可能性?我是否只剩下RESTAPI和轮询更新?我对云技术还不熟悉,所以非常感谢您的帮助。谢谢 如果你想从谷歌云调用你的本地应用程序,你需要两件事
- 第一个,在谷歌云上注册你的应用,最好是一个认证机制(比如可以是API密钥)。像这样,GCP后端知道在哪里调用你的应用程序(哪个IP/端口)以及如何调用(身份验证机制)
- 第二是让你的应用程序启动并运行,并收听外部通信。HTTP是最简单的方法。等待注册期间定义的IP/端口上的HTTP调用,检查身份验证并执行该过程
您还可以反转解决方案,并在后端运行时从本地应用程序轮询(长轮询或常规轮询)
这两种方法都是可能的,第二种方法稍微简单一些,但在管理安全性方面可能会有挑战性。如果你想从谷歌云调用你的本地应用程序,你需要两件事
- 第一个,在谷歌云上注册你的应用,最好是一个认证机制(比如可以是API密钥)。像这样,GCP后端知道在哪里调用你的应用程序(哪个IP/端口)以及如何调用(身份验证机制)
- 第二是让你的应用程序启动并运行,并收听外部通信。HTTP是最简单的方法。等待注册期间定义的IP/端口上的HTTP调用,检查身份验证并执行该过程
您还可以反转解决方案,并在后端运行时从本地应用程序轮询(长轮询或常规轮询)
这两种方法都是可能的,第二种方法稍微简单一些,但在管理安全性方面可能会有挑战性。非常感谢您提供的详细答案。您的解决方案是有道理的,但问题是客户端应用程序将安装在(几乎)始终位于NAT后面的最终用户机器上。这就是为什么我一直在寻找一个现成的解决方案来处理这个问题(比如Pub/Sub)。如果我找不到一个简单的方法来验证我的应用程序,我可能会使用轮询解决方案…PubSub有2种模式。如果使用推送模式,则需要知道目标的IP/url。在NAT背后,它确实是一个问题(与PUbSub或任何其他推送(从云)到您的应用程序的解决方案有关)。第二种模式是拉式:应用程序创建连接并侦听订阅。这是一种轮询解决方案,比其他解决方案更具包装性,但它不是魔术,它也是轮询!这里的挑战是身份验证。根据流程(与用户或非用户)不同的解决方案是可能的。非常感谢您提供的详细答案。您的解决方案是有意义的,但问题是客户端应用程序将安装在(几乎)始终位于NAT后面的最终用户机器上。这就是为什么我在寻找一个随时可用的解决方案来处理此问题(如Pub/Sub)。如果我找不到一个简单的方法来验证我的应用程序,我可能会使用轮询解决方案…PubSub有2种模式。如果使用推送模式,你需要知道目标的IP/url。在NAT背后,这确实是一个问题(使用PubSub或任何其他推送(来自云)应用程序的解决方案。第二种模式是拉式模式:应用程序创建连接并侦听订阅。这是一种轮询解决方案,比其他解决方案更具包装性,但这不是魔术,它也是轮询!这里的挑战是身份验证。根据流(用户与否),可以使用不同的解决方案。