Google Cloud Datastoreに〜50k行のエンティティがあります。スタンドアローンでもGAEではありません。私はGAEで開発を開始しており、GAEにインポートすることなくこの既存のデータストアにクエリを実行したいと考えています。私は既存のデータストアKindに接続する方法を見つけることができませんでした。Googleのアプリケーションデータベースから既存のGoogle Cloud Datastoreをクエリする
Hello Worldやその他のガイドから変更された基本コードは、POCとして機能しようとしています。
import webapp2
import json
import time
from google.appengine.ext import ndb
class Product(ndb.Model):
type = ndb.StringProperty()
@classmethod
def query_product(cls):
return ndb.gql("SELECT * FROM Product where name >= :a LIMIT 5 ")
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
query = Product.query_product()
self.response.write(query)
app = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
返されるエラーは
TypeError: Model Product has no property named 'name'
その代わりに、すでに定義された製品との私の既存のデータストアの種類の製品でGAEデータストアを使用しようとしていることは明らかようだが、私はその接続を作る方法を見つけるカントです。
Andrei、私にはそれを明確にしてくれてありがとう。私が働いているAppは、私のDatastoreと同じプロジェクトに入っています。ドキュメントをもう一度見て、私の問題を見つけようとします。 –
Google Cloud Platformコンソール(https://console.cloud.google.com)にアクセスし、データが表示されていることを確認します(「データストア>エンティティ」の下にある)。 –