簡體   English   中英

appengine 使用數據存儲設置本地主機以進行測試

[英]appengine set up local host with datastore for testing

我試圖遵循關於如何使用數據庫設置本地開發的 googles 文檔( https://cloud.google.com/appengine/docs/standard/python/tools/using-local-server#Python_Using_the_Datastore )。 但是,我沒有可以遵循的經驗水平。 我什至不確定這是否是正確的指南。 該應用程序是一個使用 python 2.7 的 Django 項目。 要運行本地主機,我通常輸入dev_appserver.py --host 127.0.0.1 .

我的問題是:

  1. 我如何在谷歌雲上下載數據存儲數據庫。 我不想下載整個數據庫,只需要足夠的數據來填充本地主機,這樣我就可以進行測試

  2. 下載數據庫后,我需要做什么才能將其連接到本地主機? 我必須在某處更改參數嗎?

  3. 我需要下載數據存儲嗎? 我可以在雲上復制一份然后連接到那個數據存儲嗎?

  4. 當我運行 localhost 時,它不應該已經連接到數據存儲嗎? 由於該站點在雲上運行時可以正常工作。 在哪里可以找到連接 URI?

謝謝您的幫助

開發服務器旨在模擬整個 App Engine 環境,如果您檢查dev_appserver.py命令的輸出,您將看到類似“ Starting Cloud Datastore emulator at: http://localhost:PORT 您的代碼將自動與捆綁的 Datastore 交互,根據您編寫的代碼推送和檢索數據。 您的數據將保存在本地存儲中的文件中,並且除非被明確刪除,否則將在開發服務器的不同運行中持續存在。

此選項不提供從現有 Cloud Datastore 實例導入數據的工具,但如果您的測試過程能夠負擔得起通過使用以編程方式執行的自定義創建的腳本來使用模擬數據填充本地數據庫,則它是一個現成的解決方案。 如果您決定采用這種方法,只需編寫數據創建腳本並在運行測試之前執行它。

現在,還有另一個選項可以使用 Cloud SDK 模擬本地數據存儲區,該 Cloud SDK 為您提供了方便的功能。 您可以在運行數據存儲模擬器文檔頁面下找到它的可用信息。 此模擬器支持導入從生產 Cloud Datastore 下載的實體以及將它們導出到文件中。

回到你的問題:

  1. 從下面的雲實例為GCS桶中導出數據 ,然后從桶到您的文件系統下下載數據,最后將數據導入與顯示的命令模擬器這里
  2. 要使用模擬器,您需要先在 Cloud Shell 中運行gcloud beta emulators datastore start ,然后在單獨的選項卡中運行dev_appserver.py --support_datastore_emulator=true --datastore_emulator_port=8081 app.yaml
  3. 開發服務器使用上述兩個模擬器之一,在這兩種情況下,它都沒有連接到您的 Cloud Datastore。 您可以使用數據庫副本創建另一個用於開發目的的項目,並將應用程序部署在那里,這樣您就根本不使用模擬器。
  4. 數據存儲區的請求是通過端點https://datastore.googleapis.com/v1/projects/project-id發出的,盡管這與模擬器如何管理本地服務器中的連接無關。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM