使用 Flask 編寫並在本機測試提供靜態 HTML 檔案的網路服務。接著,請建立將網路服務部署至 App Engine 所需的設定檔。
在這個步驟中,您會建立一個網路服務版本來顯示預留位置資料,並對此版本進行本機測試。這裡的目標是確保基本網路服務正常運作,再新增 Datastore 和 Firebase 驗證。
事前準備
如果您尚未建立 Google Cloud 專案,請建立 Google Cloud 專案。
如果您尚未設定 Python 3 部署作業的本機環境,請執行下列步驟:
下載並安裝 Python 3,部署網路服務並執行 Google Cloud CLI。
使用您的 Google Cloud 使用者憑證向 Google Cloud CLI 進行驗證,並為 Datastore 啟用本機測試:
gcloud auth application-default login
建立網路服務檔案結構
您建立網路服務時所在的專案目錄檔案結構如下:
building-an-app/
app.yaml
main.py
requirements.txt
static/
script.js
style.css
templates/
index.html
以下各節提供範例,說明如何在專案目錄中設定檔案。
撰寫您的網路服務
網路服務的���始疊代使用 Flask 提供 Jinja 型 HTML 範本。
如要測試網路服務:
建立
templates/index.html
檔案:使用
static/script.js
和static/style.css
檔案新增行為和樣式:在
main.py
檔案中,使用 Flask 轉譯含有預留位置資料的 HTML 範本:在
requirements.txt
檔案中,設定網路服務需要的所有依附元件:
測試網路服務
請在虛擬環境中本機執行網路服務,以便進行測試:
Mac OS / Linux
- 建立獨立的 Python 環境:
python3 -m venv env
source env/bin/activate
- 如果您目前所在的目錄並未包含範例程式碼,請前往包含
hello_world
範例程式碼的目錄。接著安裝依附元件:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- 執行應用程式:
python main.py
- 在網路瀏覽器中,輸入下列網址:
http://localhost:8080
視窗
請使用 PowerShell 執行 Python 套件。
- 尋找已安裝的 PowerShell。
- 以滑鼠右鍵按一下 PowerShell 的捷徑,然後以系統管理員的身分啟動 PowerShell。
- 建立隔離的 Python 環境。
python -m venv env
.\env\Scripts\activate
- 前往專案目錄,並安裝依附元件。如果您不在包含範例程式碼的目錄中,請前往包含
hello_world
範例程式碼的目錄。接著,安裝依附元件:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- 執行應用程式:
python main.py
- 在網路瀏覽器中,輸入下列網址:
http://localhost:8080
為 App Engine 設定網路服務
如要將網路服務部署至 App Engine,您需要使用 app.yaml
檔案。這個設定檔會定義網路服務的 App Engine 設定。
如要設定網路服務以部署至 App Engine,請在專案的根目錄中建立 app.yaml
檔案,例如 building-an-app
:
請注意,對於這個簡單的網路服務,app.yaml
檔案只需要定義靜態檔案的執行階段設定和處理常式。
如果是較複雜的網路服務,您可以在 app.yaml
中設定其他設定,例如資源調度、其他處理常式,以及其他應用程式元素,例如環境變數和服務名稱。如要進一步瞭解所有支援的元素並取得完整清單,請參閱 app.yaml
參考資料。
後續步驟
現在,您已經設定、建立並測試了您的網路服務,接下來可以將這個版本的網路服務部署至 App Engine。