我正在尝试连接到我的Google Datastore实例,但我无法找到有关如何初始化连接的示例代码!
Gcloud的主documentation立即开始如何分配实体或查询但跳过关键连接位。该 演示部分似乎特定于演示,因为它使用的测试环境变量非常混乱。
最重要的是,我感兴趣的是我需要定义哪些环境变量,以及是否可以在python程序中定义服务电子邮件和密钥路径。
如果有人能提供如何向数据存储区实例提交内容的示例代码,请高度赞赏。
谢谢!
答案 0 :(得分:1)
环顾四周后,我终于找到了我需要定义的环境变量。
从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假设您正在使用App Engine和数据存储区,这就是为什么如果您首次引入Google Cloud是其数据存储区服务,那么查找这些变量会更加棘手。
答案 1 :(得分:1)
在开发人员的控制台凭据部分创建服务帐户并下载JSON密钥,然后让GOOGLE_APPLICATION_CREDENTIALS环境变量指向它是一种方法,如果您不使用Appengine或Compute引擎。
您通常不会像在某些环境中那样在代码中执行此操作。
如果您使用的是Compute Engine,则可以使用数据存储范围创建实例,然后不需要该步骤:
gcloud compute instances create $INSTANCE_NAME --scopes datastore userinfo-email
另外,另一种指定项目ID的方法是这样的:
from gcloud import datastore
datastore.set_defaults(dataset_id='project-id')