Google app engine 有没有办法在Google数据存储中获取当前事务的实体组?
数据存储自动设置事务的实体组。我想知道当我在交易中时设置了什么。为了详细说明,假设我有以下在事务中运行的函数Google app engine 有没有办法在Google数据存储中获取当前事务的实体组?,google-app-engine,app-engine-ndb,google-cloud-datastore,Google App Engine,App Engine Ndb,Google Cloud Datastore,数据存储自动设置事务的实体组。我想知道当我在交易中时设置了什么。为了详细说明,假设我有以下在事务中运行的函数foo: @ndb.transactional def foo(): bar1() bar2() bar1对数据存储执行一些操作。它获取、放置、创建实体、运行查询等。由于bar1在事务内部运行,因此它执行的所有操作和运行的查询必须限制为单个实体组,这符合数据存储API严格执行的要求(假设这不是XG事务) 现在在bar2中,我想通过编程确定事务的实体组。我没有任何关于bar
foo
:
@ndb.transactional
def foo():
bar1()
bar2()
bar1
对数据存储执行一些操作。它获取、放置、创建实体、运行查询等。由于bar1
在事务内部运行,因此它执行的所有操作和运行的查询必须限制为单个实体组,这符合数据存储API严格执行的要求(假设这不是XG事务)
现在在bar2
中,我想通过编程确定事务的实体组。我没有任何关于bar1
中发生了什么的信息
这可能吗
主要是为了测试和理解如何以及何时设置事务的实体组
我在官方文档中找不到这样做的方法。它在文档中。查看键和实体组的结构 “实体组是一组通过祖先连接到实体的实体 公共根元素。可以将数据组织到实体组中 限制可以执行的事务: 实体组由键中的父项定义(没有父项的单个实体本身有一个实体组)
因此,如果您有密钥,您就有实体组。我想您误解了。我知道文档描述了什么是实体组以及它与交易的关系。我想要的是以编程方式检索正在运行的事务的当前实体组的键。实体组由您在事务中拥有的实体的键定义。如果你有实体,你就有钥匙。如果您有密钥,您就知道实体组-不是吗?如果您有XG(跨实体组事务,则每个不同的父键定义每个实体组)。实体的键属性为您提供键。那你有什么问题?重读祖先路径。很明显,实体组的根是什么。尽管如此,还有一个未记录的键方法,它使事情变得更简单,称为root()。“”“返回根密钥。这是self或最高的父项。”“”您仍然缺少问题。让我来详细说明一下。假设我有一个在事务中运行的函数
foo()
foo
调用bar1()
和bar2()
<代码>bar1对数据存储执行一些操作。它放置、创建、运行查询等。由于处于事务中,这些操作仅限于处于单个实体组中。数据存储API确保了这一点。现在,在bar2
中,在不了解任何有关bar1
的信息的情况下,我想检索当前实体组(用于其所有数据存储操作的bar1
的根实体)。这有助于澄清吗?