始终在Google Cloud上运行Python脚本

问题描述 投票:1回答:1

我想在Google Cloud上托管一个无限期运行的python脚本。

可以使用哪些Google Cloud产品可靠且经济地实现这一目标?

这可能在AppEngine上吗?

python google-app-engine google-cloud-platform
1个回答
1
投票

在GCP中,有许多方法可以运行处理逻辑。我们有App Engine,功能,计算引擎,GKE,Cloud Run等。其中,Compute Engine和GKE提供最低级别的控制意味着您可以编排代码以100%的时间运行...并且基本上可以执行您想要的任何操作。根据您的故事,听起来像计算引擎将是您想要的。当您创建计算引擎时,您基本上会得到一个虚拟机(通常是Linux),您只需在该环境中运行您想要的逻辑/应用程序。 Google会在计算引擎运行期间向您收费。如果您有一个始终运行的显式Python应用程序,那么无论流量是否实际到达,您都将按24x7结算。

您可能想要考虑的其他功能是云功能。云功能是仅在存在活动请求时才运行的逻辑。 GCP有责任被动地收听新请求而不向您收取该服务的费用。当请求到达时,您的逻辑将被执行,并且仅在您的逻辑执行执行期间收取费用。 Cloud Run与Cloud Functions类似,但逻辑托管在Kubernetes环境中,而不是native。

对于云功能,传入请求可以通过REST请求或通过GCP Pub / Sub到达。在您的描述中,当您通过MQTT接收数据时,这些都不适用。这就是Google IOT Core发挥作用的地方。 Google IoT核心是用于管理物联网设备的全套环境。这个故事的主要内容是被动侦听传入的MQTT请求的能力。当授权的IoT设备发送MQTT请求时,Google IoT核心会自动通过GCP Pub / Sub转发MQTT请求的内容。然后,这将使到达的IoT消息的机制与最终处理的机制分离。由于MQTT消息现已发布到GCP Pub / Sub,因此可以将其用作Google Cloud Function的触发器。

遵循所有这些部分......一种检查可能导致最便宜且动态可扩展的解决方案的可能性是:

物联网设备--- MQTT --->物联网核心---发布/子级--->云功能

这个故事基本上改变了“如何以无限期的方式主动监听我的代码中的请求”到“如何在请求到达时执行我的代码”的范例。


1
投票

可以在appengine上尝试转移到app.yaml中的实例类型后端 您可以了解有关后端/前端实例here的更多信息

© www.soinside.com 2019 - 2024. All rights reserved.