使用本機開發伺服器

Google Cloud CLI 包含本機開發伺服器 (dev_appserver.py)。您可以使用本機開發伺服器模擬在實際工作環境中執行 App Engine 應用程式,也可以用來存取 App Engine 舊版套裝服務。模擬環境會強制執行幾項沙箱限制 (例如設有使用限制的系統功能和執行階段語言模組匯入服務),但不包含要求逾時或配額等其他限制。

App Engine 適用的 SDK 所含程式庫提供多項服務 (包括 Datastore、Memcache 和工作佇列),而本機開發伺服器也會在本機中執行這些服務的工作,以便進行模擬。在開發伺服器中執行應用程式時,仍可使用 Google API HTTP 端點對正式基礎架構進行遠端 API 呼叫。

設定本機開發伺服器

如要執行本機開發伺服器工具,請設定下列項目:

  1. 確認您已安裝與 gcloud CLI 要求的 Python 版本相容的 Python 3 解譯器。
  2. 確認您已安裝包含 Python 3 專用 App Engine 擴充功能的 Google Cloud CLI 元件 (app-engine-python):

    gcloud components list
    

    如果未安裝 app-engine-python 元件,請執行下列指令:

    gcloud components install app-engine-python
    
  3. 執行下列指令,找出 Google Cloud SDK 的安裝路徑:

    gcloud info
    

    這項指令會傳回您安裝 Google Cloud SDK 的根目錄,例如:

    Installation Root: [/Users/myname/google-cloud-sdk]

  4. 在安裝 Google Cloud CLI 的 /bin/ 資料夾中找出 dev_appserver.py 工具,例如:

    CLOUD_SDK_ROOT/bin/dev_appserver.py
    
  5. 請記下 dev_appserver.py 的路徑,稍後會用到。

執行本機開發伺服器

設定本機開發伺服器並為應用程式建立 app.yaml 設定檔後,即可使用 dev_appserver.py 指令在本機執行應用程式。

如要啟動本機開發伺服器:

  • 本機開發伺服器現已開始執行並監聽要求。你可以透過網路瀏覽器前往 http://localhost:8080/,查看運作中的應用程式。

    如果您使用 --port 選項指定自訂通訊埠,請務必在瀏覽器中開啟該通訊埠。

  • 如要透過指令列停止本機伺服器,請按下下列按鍵:

    • macOS 或 Linux:Control+C
    • Windows:Control+Break

    指定應用程式 ID

    偵測應用程式執行階段環境

    使用郵件服務

    本機開發伺服器可透過 SMTP 伺服器或安裝於本機的 Sendmail 來傳送呼叫 App Engine 郵件服務的電子郵件。

    使用 SMTP

    如要透過 SMTP 伺服器來啟用郵件支援功能,請叫用 dev_appserver.py,如下所示:

    python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
        --smtp_user=ajohnson --smtp_password=k1tt3ns [PATH_TO_YOUR_APP]
    

    其中,--smtp_host--smtp_port--smtp_user--smtp_password 選項必須設定為您所要的值。

    使用 Sendmail

    如要透過 Sendmail 啟用郵件支援功能,請叫用 dev_appserver.py,如下所示:

    python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --enable_sendmail=yes [PATH_TO_YOUR_APP]
    

    本機伺服器會使用 sendmail 指令,以安裝的預設設定傳送電子郵件訊息。

    使用網址擷取服務

    應用程式使用 URL Fetch API 發出 HTTP 要求時,本機開發伺服器會直接從您的電腦發出要求。如果您是使用 Proxy 伺服器來存取網站,本機伺服器中的 URL Fetch 行為可能會與實際工作環境 App Engine 不同。

    使用 Users 服務

    App Engine 提供使用者服務,可簡化應用程式的驗證和授權程序。本機開發伺服器會使用本身的登入和登出頁面模擬 Google 帳戶的行為

    指令列引數

    如需本機開發伺服器指令選項,請參閱本機開發伺服器選項