【发布时间】:2016-06-02 03:25:52
【问题描述】:
阅读 GAE NDB Datastore 的新文档: 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)应用的 ID。如果未指定,则获取当前数据 应用程序。
namespace(关键字 arg)命名空间。如果未指定,则获取数据 默认命名空间。
**ctx_options上下文选项返回模型实例,如果未找到则返回 None。
我发现了这个新的app 参数。这是我很久以前就需要的!!!!!!!
我刚刚尝试从应用程序“xxxxxglobal”访问应用程序“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 中其他应用的数据存储区访问权限。
【问题讨论】:
-
我很想看到这个问题的答案。 Google 服务帐户的内容非常混乱,我没有找到任何好的文档。
-
可能与这个即将推出的功能有关:code.google.com/p/googleappengine/issues/detail?id=1300。
-
某些东西可能已经在工作了,正如这个答案中所建议的那样:stackoverflow.com/a/25747058/4495081
-
更令人困惑的是,现在 App Engine 的东西都与云的其余部分纠缠在一起,因此很难找到相关设置。我的预感是,尽管这两个用户对彼此的数据具有管理员访问权限,但还有一些应用级别的权限必须被授予。
-
没人有这个问题的消息吗?
标签: python google-app-engine google-cloud-datastore