簡體   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