小编cld*_*lds的帖子

dev_appserver.py:连接到远程数据存储

我在使用dev_appserver.py连接到生产数据存储时遇到问题。

我遵循了https://cloud.google.com/appengine/docs/standard/python/tools/remoteapi上 有关使用本地脚本使用Google-Datastore 的教程,并且在运行单个脚本时效果很好。

我制作了一个小的Git存储库,其中包含一个最小的appengine应用程序,并且在appengine_config.py脚本上添加了代码以连接到远程数据存储。

https://github.com/fcaldas/appengine_remote_datastore

app.yaml:

runtime: python27
api_version: 1
threadsafe: true

builtins:
- remote_api: on

handlers:
- url: /
  script: index.app
Run Code Online (Sandbox Code Playgroud)

index.py:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')

app = webapp2.WSGIApplication([
         ('/', MainPage),
], debug=True)
Run Code Online (Sandbox Code Playgroud)

appengine_config.py:

import os

try:
    import dev_appserver
    dev_appserver.fix_sys_path()
except ImportError:
    print "Could not import dev_appserver"
    pass


if os.environ['SERVER_SOFTWARE'].startswith('Development'):
    from google.appengine.ext.remote_api import remote_api_stub
    from google.appengine.datastore.entity_pb import Reference

    PROJECT_ID = "YOUR-PROJECT-ID"
    remote_api_stub.ConfigureRemoteApiForOAuth(
            '{}.appspot.com'.format(PROJECT_ID),
            '/_ah/remote_api/', secure=False)

    Reference.app = lambda *args: os.environ['APPLICATION_ID'].replace('dev~', …
Run Code Online (Sandbox Code Playgroud)

google-app-engine python-2.7 app-engine-ndb google-cloud-datastore google-app-engine-python

5
推荐指数
0
解决办法
168
查看次数