阅读GAE NDB数据存储区的新文档:https://cloud.google.com/appengine/docs/python/ndb/modelclass#class_methods
get_by_id(id,parent = None,app = None,namespace = None,** ctx_options)
按ID返回实体 . 这实际上只是Key(cls,id).get()的简写 . 参数id字符串或整数键ID . parent要获取的模型的父键 . app(关键字arg)app的ID . 如果未指定,则获取当前应用的数据 . namespace(关键字arg)命名空间 . 如果未指定,则获取默认命名空间的数据 . ** ctx_options上下文选项返回模型实例,如果未找到则返回None .
我发现了这个新的 app
参数 . 这是我很久以前所需要的!!!!!我只是尝试从app "xxxxxglobal"访问app "xxxxxdev"的数据存储区但是我收到此错误:
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1373, in check_rpc_success
raise _ToDatastoreError(err)
BadRequestError: app s~xxxxxglobal cannot access app xxxxxxdev's data
我在此链接中添加了帐户服务xxxxxdev@appspot.gserviceaccount.com和xxxxxglobal@appspot.gserviceaccount.com作为彼此的管理员:https://console.cloud.google.com/iam-admin/iam/
但我仍然遇到了这个问题 .
谁能帮我?我需要知道在控制面板中我可以向App Engine中的其他应用程序授予数据存储区访问权限 .
1 回答
目前,ndb不使用Cloud Datastore API,并且在其正常操作模式下无法连接到另一个应用程序的数据存储区 - 它本地连接到运行代码的应用程序的数据存储区 .
但是,您可以使用remote api将ndb连接到开发环境中不同应用程序的数据存储区 .
目前[Public Issue Tracker for App Engine中有一个开放的功能请求,可以从一个应用程序访问多个数据存储区 . 随意发布ndb的功能请求,虽然从the following comments in the source看来这已经是正在处理的东西: