簡體   English   中英

連接到Google Compute Engine實例以運行Python腳本

[英]Connect to Google Compute Engine instance to run Python script

我是雲計算領域的新手,並且我不是來自軟件工程領域,所以如果我說的某些話不對,請原諒。

我曾經在像Spyder這樣的IDE上工作,我希望保持這種狀態。 最近,在我的組織中,我們正在嘗試使用Google Cloud,我想做的是在雲上而不是在我的計算機上使用Google Cloud的API運行簡單的腳本。

假設我想通過Spyder在雲上運行此代碼:

x=3
y=2
print(f'your result is {x+y}') 

我猜我可以做這樣的事情:

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}') 

有什么辦法嗎? 還是告訴python運行script.py 謝謝,如果我不清楚,請告訴我。

你不用道歉 在某個時候,每個人都是雲計算的新手。

我鼓勵閱讀有關雲計算的內容,以更好地了解它的含義以及將其與您當前的經驗進行比較。

您包含的代碼無法按原樣工作。

與Compute Engine的互動有2種模式,這是Google Cloud Platform中的幾種計算服務之一。

從根本上講,與Compute Engine實例進行交互的方式與您與筆記本電腦進行交互的方式類似。 要運行python程序,您可以啟動Python的REPL或創建一個腳本,然后通過python解釋器運行該腳本。 這也是在Compute Engine執行個體上運作的方式。

您可以在Linux上一行完成此操作:

python -c "x=2; y=3; print(x+y)"

但是,首先,您必須告訴Compute Engine創建一個實例。 您可以使用Google Cloud Console( http://console.cloud.google.com ),Google Cloud SDK(也稱為“ gcloud”)或使用Google的Compute Engine 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

您的示例結束了connect to instance ,這標志着在提供實例和與之交互之間的過渡。 上面代碼的替代方法是使用通常稱為“ gcloud”的Google命令行,例如:

gcloud compute instances create ${INSTANCE} \
--project=${PROJECT} \
--zone=${ZONE}

gcloud提供了一個方便的命令,允許您使用ssh但它會為您進行身份驗證:

gcloud compute ssh ${INSTANCE} \
--project=${PROJECT} \
--zone=${ZONE} \
--command='python -c "x=2; y=3; print(x+y)"'

注意:此命令ssh進入Compute Engine實例,然后運行Python程序。

這不是實現此目標的最佳方法,但我希望它向您展示了一種可以實現此目標的方法。

在了解Google Cloud Platform的同時,您還將了解到還有其他計算服務。 這些其他計算服務提供了更高級別的抽象。 除了提供虛擬機,您還可以將代碼直接部署到例如Python運行時。 Google App Engine和Google Cloud Functions都提供了一種無需配置實例即可直接將程序部署到計算服務的方法。 由於這些服務在更高級別上運行,因此您也可以從IDE內進行編寫,測試甚至部署代碼的工作。

Google Cloud Platform會根據您的要求提供多種計算服務 這些都伴隨着存儲服務機器學習分析物聯網開發人員工具等。它可能不勝枚舉,但您應該從基礎開始(遵循一些“ hello world”教程)並從那里開始。

HTH!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM