我正在嘗試連接到我的Google數據存儲實例,但找不到任何示例代碼以瞭解如何初始化連接!使用gcloud連接到Google數據存儲
Gcloud的主要documentation立即開始如何分配一個實體或查詢,但跳過關鍵的連接位。演示版的 看起來與演示相關,因爲它使用的測試環境變量非常混亂。
最重要的是,我感興趣的是我需要定義的環境變量,以及是否有可能在python程序中定義服務電子郵件和密鑰路徑。
非常感謝,如果任何人都可以提供示例代碼如何提交一些數據存儲實例。
謝謝!
我正在嘗試連接到我的Google數據存儲實例,但找不到任何示例代碼以瞭解如何初始化連接!使用gcloud連接到Google數據存儲
Gcloud的主要documentation立即開始如何分配一個實體或查詢,但跳過關鍵的連接位。演示版的 看起來與演示相關,因爲它使用的測試環境變量非常混亂。
最重要的是,我感興趣的是我需要定義的環境變量,以及是否有可能在python程序中定義服務電子郵件和密鑰路徑。
非常感謝,如果任何人都可以提供示例代碼如何提交一些數據存儲實例。
謝謝!
環顧四周後,我終於找到了我需要定義的環境變量。
從內部的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與數據存儲,這就是爲什麼它是棘手找到這些變量,如果你第一次介紹到谷歌雲是它的數據存儲服務。
如果您未使用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')
根據我的示例,它並非真正的硬編碼,而是從特定於我計劃運行代碼的每個環境的設置文件導入的。 –