[英]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 似乎仍然限制它。
我的問題是,
gcloud SDK 版本:346.0.0
好吧,你的問題的答案是:它應該支持它,因為模擬器應該支持生產環境所做的一切。 話雖如此,我確實在看到您的問題后閱讀了文檔,並發現此處說明:
Cloud SDK 包括生產數據存儲模式環境的本地模擬器。
但是,如果您要訪問該鏈接,則會提示這是舊版 Datastore 和 Datastore 模式下的 Firestore 的模擬器。 所以這可能就是您看到這種行為的原因。 有了這些信息,在Google 的問題跟蹤器中打開一個案例可能是個好主意,這樣他們的工程團隊就可以澄清這是否是預期的行為,如果不是,則解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.