有没有办法在Google Datastore中获取当前交易的实体组?

时间:2015-09-05 18:18:31

标签: google-app-engine app-engine-ndb google-cloud-datastore

数据存储区自动设置事务的实体组。我想知道在交易中我的设置​​是什么。详细说来,假设我在事务中运行了以下函数foo

@ndb.transactional
def foo():
    bar1()
    bar2()

bar1对数据存储执行某些操作。它获取,放置,创建实体,运行查询等。由于bar1在事务内运行,它执行的所有操作和运行的查询必须限制为单个实体组,严格执行要求数据存储区API(假设这不是XG事务)。

现在在bar2我想以编程方式确定事务的实体组。我没有关于bar1中发生了什么的任何信息。

这可能吗?

主要是我希望将其用于测试,并了解如何以及何时设置事务的实体组。

我无法从官方文档中找到解决方法。

1 个答案:

答案 0 :(得分:0)

它在文档中。查看密钥和实体组的结构。

https://cloud.google.com/appengine/docs/python/datastore/entities#Python_Transactions_and_entity_groups

  

“实体组是一组通过祖先连接到的实体   共同的根元素。将数据组织到实体组中即可   限制可以执行的交易:“

实体组由密钥中的父级定义(没有父级密钥的单个实体具有自身的实体组)。

因此,如果您拥有密钥,则您拥有实体组。