1

Google App Engineで実行されていないPython DjangoプロジェクトにGoogle Cloud DataStoreを実装しようとしています。Google Cloud Datastore API in Pythonコード

Google App Engineでプロジェクトを実行せずにGoogle Datastoreを使用することはできますか?はいの場合、完全なエンティティオブジェクトを取得する方法、またはクエリを正常に実行する方法を教えてください。

以下のコードスニペットはクエリオブジェクトを出力しますが、それ以降はエラーをスローします。

コードスニペット:

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

AppStore以外でDatastoreを使用することはできますが、有効なGoogle Cloud Platformプロジェクトが必要です。あなたはそれらの1つを持っていますか? – MeLight

+0

@MeLightはい。私は有効なプロジェクトを持っています。エラーでもプロジェクトを印刷します。 – Naveen

+0

コードに 'print(vars(client))'を追加すると正しいプロジェクト値も表示されます。このコードスニペットのどこにでもプロジェクトの値を指定していません。 – Naveen

答えて

2

このguideは、おそらく参考になります。あなたはその例をアクションhereで見ることができます。あなたがいることを実行する場合

$ gcloud beta auth application-default login 

:あなたはまた、あなたのアプリケーションを実行する前に、このコマンドを実行して、この部分をスキップすることができ

datastore.Client("YOUR_PROJECT_ID") 

あなただけ.Client()メソッドにプロジェクトIDを渡す必要がありますプロジェクトIDを注入することなくローカルですべてのリクエストを認証します:)

+0

ありがとうございました。合格 "Project_id"が働いた。 – Naveen

関連する問題