1

Я пытаюсь внедрить облачный DataStore Google в моем проекте Django Python, который не работает в Google App Engine.API Google Cloud Datastore в коде Python

Возможно ли использовать Google Datastore без запуска проекта в Google App Engine? Если да, можете ли вы рассказать, как получить полный объект сущности или успешно выполнить запрос?

Приведенный ниже фрагмент кода печатает объект запроса, но после этого выдает ошибку.

Код сниппета:

from gcloud import datastore 
entity_kind = 'EntityKind' 
numeric_id = 1234 

client = datastore.Client() 
key = client.key(entity_kind, numeric_id) 
query = client.query(kind=entity_kind) 
print(query) 
results = list(query.fetch()) 
print(results) 

Ошибка:

NotFound: 404 The project gproj does not exist or it does not contain an active App Engine application. Please visit http://console.developers.google.com to create a project or https://console.developers.google.com/appengine?project=gproj to add an App Engine application. Note that the app must not be disabled. 
+0

Возможно использование Datastore вне App Engine, но для этого необходим действительный проект Google Cloud Platform. У вас есть один из них? – MeLight

+0

@MeLight да. У меня есть действующий проект. Он также печатает проект в Error. – Naveen

+0

Добавление 'print (vars (client))' в коде также показывает правильное значение проекта. И я не указывал значение проекта нигде в этом фрагменте кода. – Naveen

ответ

2

Это guide, вероятно, будет полезно. Вы можете увидеть пример этого в действии here.

Вам просто нужно передать идентификатор проекта в .Client() метода:

datastore.Client("YOUR_PROJECT_ID") 

Вы также можете пропустить эту часть, выполнив эту команду перед запуском приложения:

$ gcloud beta auth application-default login 

Если вы бежите, что , он будет аутентифицировать все ваши запросы локально без ввода идентификатора проекта :)

Надеюсь, это поможет!

+0

Большое спасибо. Прошел «Project_id». – Naveen

Смежные вопросы