我希望從技術上了解如何在運行 go 服務器時go run main.go
連接到本地 firestore 模擬器(假設模擬器正在運行)
該連接究竟是如何建立的?
問是因為我一直認為這是理所當然的,昨天它沒有作業,聲稱找不到我的 GAE 憑據。
我跑了:gcloud auth application-default login在我運行我的服務器之后,我發現我正在將資訊寫入我的 PRODUCTION 資料庫......
編輯:感謝 Cerise 的回答。
我忘了提到我的計算機重新啟動并且我丟失了環境的設定(匯出)FIREBASE_EMULATOR_HOST..因此,它默認為 prod 端點..我不知道,我只是“登錄”到我的谷歌auth sdk .. 這導致憑證被用于生產資料庫.. 再次設定變數后,我連接到模擬器。
如果這發生在其他人身上,我最終會在我的代碼中添加一個簡單的檢查(我已經區分了我是在本地機器還是在我的 GAE 服務器中運行)
if os.Getenv("FIRESTORE_EMULATOR_HOST") == "" { log.Fatalf("FIRESTORE_EMULATOR_HOST not set and attempting to run in dev mode.") }
uj5u.com熱心網友回復:
在去公司的FireStore客戶端使用由FIRESTORE_EMULATOR_HOST環境變數指定的模擬器。
使用gcloud beta emulators firestore start命令啟動模擬器。模擬器列印設定 FIRESTORE_EMULATOR_HOST 環境變數的說明。
檢查環境變數以確定客戶端是否正在使用模擬器:
usingEmulator := os.Getenv("FIRESTORE_EMULATOR_HOST") != “”
有關更多資訊,請參閱包檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/318998.html
標籤:火力基地 走 谷歌应用引擎 谷歌云firestore
