2

我正在尝试连接到我的 Google Datastore 实例,但找不到任何有关如何初始化连接的示例代码!

Gcloud 的主要文档立即从如何分配实体或查询开始,但跳过了关键的连接位。演示部分似乎特定于演示,因为它使用了相当混乱的测试环境变量。

最重要的是,我对需要定义哪些环境变量以及是否可以从 python 程序中定义服务电子邮件和密钥路径感兴趣。

如果有人可以提供如何将某些内容提交到数据存储实例的示例代码,我们将不胜感激。

谢谢!

4

2 回答 2

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 与 Datastore 一起使用,这就是为什么如果您首先介绍 Google Cloud 是它的 Datastore 服务,找到这些变量会比较棘手。

于 2015-05-25T11:08:07.600 回答
1

如果您不使用 Appengine 或 Compute 引擎,则在 Developer's Console Credential 部分创建服务帐户并下载 JSON 密钥,然后让 GOOGLE_APPLICATION_CREDENTIALS 环境变量指向它是一种方法。

您通常不会像以前那样在代码中执行此操作,因为它特定于给定环境。

如果您使用的是 Compute Engine,则只需创建具有 Datastore 范围的实例,则无需执行该步骤:

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

另外,另一种指定项目 id 的方法是这样的:

from gcloud import datastore
datastore.set_defaults(dataset_id='project-id')
于 2015-05-26T05:08:16.590 回答