我试图连接到我的谷歌数据存储实例,但我找不到如何初始化连接的任何示例代码!
Gcloud的主要文档立即从如何分配实体或查询开始,但跳过了关键的连接位。的Demo部分似乎是特定于演示的,因为它使用了相当令人困惑的测试环境变量。
最重要的是,我感兴趣的是我需要定义哪些环境变量,以及是否有可能在python程序中定义服务电子邮件和key路径。
如果有人能提供一个如何提交一些东西到数据存储实例的示例代码,我将不胜感激。
谢谢!
经过一番寻找,我终于找到了需要定义的环境变量。
从Python内部连接到google数据存储:
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
Google假设你正在使用带有数据存储的应用引擎,这就是为什么如果你第一次引入Google Cloud是它的数据存储服务,那么找到这些变量会更棘手。
在Developer's Console Credential部分创建一个服务帐户并下载JSON密钥,然后让GOOGLE_APPLICATION_CREDENTIALS环境变量指向它是一种方法,如果您不使用Appengine或Compute引擎。
你通常不会在代码中这样做,因为它是特定于给定环境的。
如果你使用的是计算引擎,你可以只创建实例的数据存储范围,然后这一步是不必要的:
gcloud compute instances create $INSTANCE_NAME --scopes datastore userinfo-email
另外,指定项目id的另一种方法是:
from gcloud import datastore
datastore.set_defaults(dataset_id='project-id')