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



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

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

我认为该功能仅适用于Python端,但不幸的是,对于Java运行时,该功能请求仍然是Open。

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

唯一的方法是

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

最新更新