Appengine如何删除命名空间中的所有实体 - Java

时间:2012-08-18 04:41:56

标签: java google-app-engine

我使用命名空间来管理多租户。我需要知道是否有一种简单的方法来删除所有实体。

我知道我可以使用mapreduce但是我看到的所有示例都从servlet配置中调用mapper,但是当用户选择关闭帐户时我需要动态传递命名空间字符串。

2 个答案:

答案 0 :(得分:2)

我认为这个功能仅适用于Python端,不幸的是Java运行时功能请求is still Open

答案 1 :(得分:2)

经过研究,无法在实体搜索中使用命名空间调用mapreduce。这可能是最好的路线。

唯一的方法是

  • 创建任务队列以删除整个命名空间
  • 获取命名空间中的所有类型。使用延迟任务删除每种
  • 对于每种类型,获取实体(仅限键)。您可以进行批量删除。如果您有很多实体,这可能会超时。但是因为你只获得密钥并进行批量删除 - 我不认为这是一个问题。否则,您可以使用后端并指向此任务,以使其不会超时。