繁体   English   中英

数据存储模拟器返回“事务内部只允许祖先查询”。 它不支持 Datastore 模式下的 Firestore 吗?

[英]Datastore emulator returns 'Only ancestor queries are allowed inside transactions’. Doesn't it support Firestore in Datastore mode?

我在本地运行使用 Datastore 的应用程序。 该应用程序是用 Java 编写的,并使用 Objectify。 代码如下。

ofy().transact(() -> { ofy().load().type(PersonEntity.class).list(); })

当我的应用程序连接到我的 GCP 项目的数据存储区时,这个简单的查询会成功运行。

但是,当我使用cloud-datastore-emulator 时,此查询被拒绝,并显示错误消息Only ancestor queries are allowed inside transactions

这个关于非祖先查询的限制似乎在数据存储模式下的 Firestore 上被删除 但是 cloud-datastore-emulator 似乎仍然限制它。

我的问题是,

  • 云数据存储模拟器不支持数据存储模式下的 Firestore?
  • 有没有办法在 Datastore 模式下模拟 Firestore?

gcloud SDK 版本:346.0.0

好吧,你的问题的答案是:它应该支持它,因为模拟器应该支持生产环境所做的一切。 话虽如此,我确实在看到您的问题后阅读了文档,并发现此处说明:

Cloud SDK 包括生产数据存储模式环境本地模拟器

但是,如果您要访问该链接,则会提示这是旧版 Datastore 和 Datastore 模式下的 Firestore 的模拟器。 所以这可能就是您看到这种行为的原因。 有了这些信息,在Google 的问题跟踪器中打开一个案例可能是个好主意,这样他们的工程团队就可以澄清这是否是预期的行为,如果不是,则解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM