2

我正在嘗試連接到我的Google數據存儲實例,但找不到任何示例代碼以瞭解如何初始化連接!使用gcloud連接到Google數據存儲

Gcloud的主要documentation立即開始如何分配一個實體或查詢,但跳過關鍵的連接位。演示版的 看起來與演示相關,因爲它使用的測試環境變量非常混亂。

最重要的是,我感興趣的是我需要定義的環境變量,以及是否有可能在python程序中定義服務電子郵件和密鑰路徑。

非常感謝,如果任何人都可以提供示例代碼如何提交一些數據存儲實例。

謝謝!

回答

1

環顧四周後,我終於找到了我需要定義的環境變量。

從內部的Python連接到您的谷歌數據存儲:

import os 

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = <path to private key> 
os.environ['GCLOUD_DATASET_ID'] = <dataset_id, also known as project id> 

# Fetching queries should work now 
query = datastore.Query(kind=<kind>, namespace=<namespace>) 
for result in query.fetch(): 
    print result 

谷歌假設你正在使用的App Engine與數據存儲,這就是爲什麼它是棘手找到這些變量,如果你第一次介紹到谷歌雲是它的數據存儲服務。

1

如果您未使用Appengine或Compute引擎,則在開發者控制檯的Credential部分中創建服務帳戶並下載JSON密鑰,然後讓GOOGLE_APPLICATION_CREDENTIALS環境變量指向它即可。

你通常不會像你那樣做代碼,因爲它是特定於特定環境的。

如果使用的是計算引擎,你可以使用數據存儲區範圍內創建的實例,那麼這一步是不必要的:

gcloud compute instances create $INSTANCE_NAME --scopes datastore userinfo-email 

此外,另一種方式來指定項目ID是這樣的:

from gcloud import datastore 
datastore.set_defaults(dataset_id='project-id') 
+0

根據我的示例,它並非真正的硬編碼,而是從特定於我計劃運行代碼的每個環境的設置文件導入的。 –

相關問題