執行 Cloud Datastore 模擬器

Cloud Datastore 模擬器可在本機上模擬實際運作的 Cloud Datastore 環境。您可以用這個模擬器在本機上開發及測試應用程式。此外,模擬器還可幫助您為實際工作環境的 Cloud Firestore (Datastore 模式) 執行個體產生索引,並刪除不需要的索引。本頁說明如何安裝及啟動模擬器,並設定環境變數,將您的應用程式連接至模擬器。

事前準備

如要使用 Cloud Datastore 模擬器,您需要:

安裝模擬器

Cloud Datastore 模擬器是 Google Cloud SDK gcloud 工具的元件。請使用gcloud components install 指令進行安裝 Cloud Datastore 模擬器:

gcloud components install cloud-datastore-emulator

模擬器資料目錄

模擬器模擬 Cloud Datastore 時,會在指定資料目錄建立 /WEB-INF/appengine-generated/local_db.bin,並將資料儲存在 local_db.bin。預根據預設,模擬器使用的資料目錄是 ~/.config/gcloud/emulators/datastore/local_db.bin 檔案介於模擬器的工作階段之間。您可以設定多個資料目錄,並將每個目錄視為單獨的本機 Datastore 模式執行個體。如要清除 local_db.bin 檔案的內容,請停止模擬器並手動刪除該檔案。

啟動模擬器

在命令提示字元執行 datastore start,以啟動模擬器:

gcloud beta emulators datastore start [flags]

其中 [flags] 是提供給 gcloud 工具的選用指令列引數。例如:

  • --data-dir=[DATA_DIR] 會變更模擬器的資料目錄。模擬器會在 [DATA_DIR] 內建立 /WEB-INF/appengine-generated/local_db.bin 檔案,如果有既存檔案,則會使用該檔案。

  • --no-store-on-disk 設定模擬器不要在磁碟上留存模擬器工作階段的任何資料。

如要取得所有選用標記的清單,請參閱 gcloud beta emulators datastore start

啟動模擬器之後,您應該會看到類似以下的訊息:

...
[datastore] Dev App Server is now running.

如要停止模擬器,可在命令提示字元中鍵入 Ctrl-C。

設定環境變數

啟動模擬器之後,您會需要設定環境變數,讓應用程式連線到模擬器,而非連線到您的實際工作環境 Datastore 模式資料庫。請在您用來執行應用程式的相同機器上,設定這些環境變數。

每次啟動模擬器時,您都需要設定環境變數。環境變數取決於動態指派的通訊埠編號,這些編號可能會在您重新啟動模擬器時變更。

自動設定變數

如果您的應用程式與模擬器在相同機器上執行,可自動設定環境變數:

Linux/macOS

使用替代指令執行 env-init

$(gcloud beta emulators datastore env-init)

Windows

使用 env-init 的輸出結果,建立並執行批次檔案:

gcloud beta emulators datastore env-init > set_vars.cmd && set_vars.cmd

您的應用程式現在將連線至 Cloud Datastore 模擬器。

手動設定變數

如果您的應用程式與模擬器在不同機器上執行,可手動設定環境變數:

  1. 執行 env-init 指令:

    gcloud beta emulators datastore env-init
  2. 在執行應用程式的機器上,依照 env-init 指令的輸出結果,設定環境變數與值。例如:

    Linux/macOS
    export DATASTORE_EMULATOR_HOST=localhost:8432
    export DATASTORE_PROJECT_ID=my-project-id
    Windows
    set DATASTORE_EMULATOR_HOST=localhost:8432
    set DATASTORE_PROJECT_ID=my-project-id

您的應用程式現在將連線至 Cloud Datastore 模擬器。

更新及刪除索引

如果您使用模擬器執行應用程式,就可以為實際工作環境的 Datastore 模式資料庫產生索引,以及刪除不需要的索引。詳情請參閱使用 gcloud 工具一文。

移除環境變數

使用完模擬器後,停止模擬器 (Ctrl-C) 並移除環境變數,讓應用程式連線至您實際工作環境的 Datastore 模式資料庫。

自動移除變數

如果您的應用程式與模擬器在相同機器上執行,可設定自動刪除環境變數:

Linux/macOS

使用替代指令執行 env-unset

$(gcloud beta emulators datastore env-unset)

Windows

使用 env-unset 的輸出結果,建立並執行批次檔案:

gcloud beta emulators datastore env-unset > remove_vars.cmd && remove_vars.cmd

您的應用程式現在會連線至實際工作環境的 Datastore 模式資料庫。

手動移除變數

如果您的應用程式和模擬器在不同機器上執行,請手動刪除環境變數:

  1. 執行 env-unset 指令:

    gcloud beta emulators datastore env-unset
  2. 在執行應用程式的機器上,依照 env-unset 指令的輸出結果,移除環境變數和值。例如:

    Linux/macOS
    unset DATASTORE_EMULATOR_HOST
    unset DATASTORE_PROJECT_ID
    Windows
    set DATASTORE_EMULATOR_HOST=
    set DATASTORE_PROJECT_ID=

您的應用程式現在會連線至實際工作環境的 Datastore 模式資料庫。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Datastore 說明文件