Jua*_*n C 1 python google-compute-engine gcloud
我对云计算很陌生,而且我不是来自软件工程背景,所以如果我说的有些话不正确,请见谅。
我习惯于在像 Spyder 这样的 IDE 上工作,我想保持这种方式。最近,在我的组织中,我们正在试验 Google Cloud,我尝试做的是在云上运行一个简单的脚本,而不是使用 Google Cloud 的 API 在我的计算机上运行。
假设我想通过 Spyder 在云上运行它:
x=3
y=2
print(f'your result is {x+y}')
Run Code Online (Sandbox Code Playgroud)
我猜我可以做这样的事情:
from googleapiclient import discovery
compute = discovery.build('compute', 'v1')
request = compute.instances().start(project=project, zone=zone, instance=instance)
request.execute()
#Do something to connect to instance
x=3
y=2
print(f'your result is {x+y}')
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?或者告诉 python 运行script.py?谢谢,如果我不清楚,请告诉我。
你不必道歉;每个人在某个时候都是云计算的新手。
我鼓励阅读有关云计算的内容,以更好地了解它是什么以及它与您当前的体验相比如何。
您包含的代码将无法按原样运行。
与 Compute Engine 有两种交互模式,Compute Engine 是Google Cloud Platform 中的几种计算服务之一。
从根本上说,与 Compute Engine 实例的交互类似于您与笔记本电脑的交互方式。要运行 python 程序,你要么启动 Python 的 REPL,要么创建一个脚本,然后通过 python 解释器运行脚本。这也是它在 Compute Engine 实例上的工作方式。
你可以在 Linux 上用一行来完成:
python -c "x=2; y=3; print(x+y)"
Run Code Online (Sandbox Code Playgroud)
但是,首先,您必须告诉 Compute Engine 为您创建一个实例。您可以使用 Google Cloud Console ( http://console.cloud.google.com )、Google Cloud SDK 又名“gcloud”或使用例如 Google 的计算引擎 Python 库(这就是您的代码所做的)来执行此操作。无论哪个这些方法的使用,所有这些最终使对抗谷歌云REST调用例如,提供一个实例:
from googleapiclient import discovery
compute = discovery.build('compute', 'v1')
request = compute.instances().start(project=PROJECT, zone=ZONE, instance=INSTANCE)
request.execute()
#Do something to connect to instance
Run Code Online (Sandbox Code Playgroud)
您的示例结束connect to instance,这标志着配置实例和与其交互之间的转换。上面代码的替代方法是使用 Google 的命令行,通常称为“gcloud”,例如:
from googleapiclient import discovery
compute = discovery.build('compute', 'v1')
request = compute.instances().start(project=PROJECT, zone=ZONE, instance=INSTANCE)
request.execute()
#Do something to connect to instance
Run Code Online (Sandbox Code Playgroud)
gcloud提供了一个方便的命令,允许您使用,ssh但它会为您处理身份验证:
gcloud compute instances create ${INSTANCE} \
--project=${PROJECT} \
--zone=${ZONE}
Run Code Online (Sandbox Code Playgroud)
注意此命令 ssh 进入 Compute Engine 实例,然后运行您的 Python 程序。
这不是实现这一目标的最佳方式,但我希望它向您展示了一种实现目标的方式。
随着您了解 Google Cloud Platform,您将了解到还有其他计算服务。这些其他计算服务提供了更高级别的抽象。您可以将代码直接部署到例如 Python 运行时,而不是配置虚拟机。Google App Engine 和 Google Cloud Functions 都提供了一种方法,您可以通过该方法将程序直接部署到计算服务,而无需配置实例。由于这些服务在更高级别运行,因此您也可以在 IDE 中编写、测试甚至部署代码。
Google Cloud Platform 可根据您的要求提供多种计算服务。这些伴随着存储服务、机器学习、分析、物联网、开发人员工具等。它可能会让人不知所措,但您应该从基础开始(遵循一些“hello world”教程)并从那里开始学习.
哼!