Google app engine 有什么技术可以代替名称空间吗
除了名称空间之外,还有什么方法可以对数据进行分区吗?我需要为每个用户组分割数据,但是一些管理员用户应该看到每个人的所有数据和名称空间块。您尝试过祖先路径吗?出于完全相同的原因,我们使用它来代替名称空间。我们还添加了作为文件夹的实体,用于存储需要分组的任何数据。例如:我们有一个订户实体,我们添加了一个名为Users的标签,它是订户的子级。所有属于订阅服务器特定实例的用户实体,我们都添加到该用户标签中。订阅服务器上的祖先查询可用于返回所有实体,包括订阅服务器、标签和用户实体Google app engine 有什么技术可以代替名称空间吗,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,除了名称空间之外,还有什么方法可以对数据进行分区吗?我需要为每个用户组分割数据,但是一些管理员用户应该看到每个人的所有数据和名称空间块。您尝试过祖先路径吗?出于完全相同的原因,我们使用它来代替名称空间。我们还添加了作为文件夹的实体,用于存储需要分组的任何数据。例如:我们有一个订户实体,我们添加了一个名为Users的标签,它是订户的子级。所有属于订阅服务器特定实例的用户实体,我们都添加到该用户标签中。订阅服务器上的祖先查询可用于返回所有实体,包括订阅服务器、标签和用户实体 我有一个多租户应用程序,
我有一个多租户应用程序,其中每个名称空间都有自己的管理员。但是,和您一样,我希望有一个超级管理员,可以访问任何名称空间并执行名称空间管理员可以执行的所有过程 因此,我为每个名称空间创建了一个管理实体,但在空名称空间上创建了一个超级管理实体。因此,我使用默认(空)名称空间来存储全局实体。通过这样做,您只需在寻找超级管理员之前将名称空间设置为空,必须小心设置原始名称空间
YourHandler(RequestHandler):
original_ns=namespace_manager.get_namespace()
namespace_manager.set_namespace("")
#Look for Super Admin Here
...
# Return to original ns
namespace_manager.set_namespace(original_ns)
当然,我把这种安全代码放在decorators中,以便在所有应用程序中重复使用,但上面的代码更容易理解。Hi Moin,您在祖先查询方面遇到过任何性能问题吗?还有,名称空间会更快吗?thanks@ZiglioNZ这里没有问题。但请记住,“父项”无法重置,因此您将无法“移动”用户。您需要使用新的父级创建副本。对于名称空间也是如此。