接續著昨天的進度,首先可以先準備你的程式,而我在github 上有放上範例:
https://github.com/wilsonsujames/AppEngineDeploy/tree/master/APP_Engine_deploy
可以發現主程式為main.py,假設你有一些html頁面,放在templates,但是又不希望templates資料夾的名稱叫做
templates,可以在建立Flask物件時,這樣設定:
template_dir = os.path.abspath('./public')
app = Flask(__name__,template_folder=template_dir)
再來可以看到app.yaml:
runtime: python38
handlers:
- url: /static
static_dir: static
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
可以發現使用的python版本為3.8,
設定了static路徑,
所有的路徑都要由HTTPs來通過,沒有的話報301代碼錯誤。
更詳細的設定介紹,可以參考官網的攻略:
https://cloud.google.com/appengine/docs/standard/python3/config/appref
可以從中發現,跨域請求(cors)也可以在這裡做設定。
而如果你希望有一個API定期的被呼叫呢?
那可以設定cron.yaml:
https://cloud.google.com/appengine/docs/standard/python3/scheduling-jobs-with-cron-yaml
在requirements.txt中新增需要的套件:
Flask
google-cloud-storage
完成之後可以打開昨天的Google sdk,將路徑cd到有yaml設定黨的地方打上
gcloud app deploy
確認完之後等待結果,而可以使用
gcloud app browse
來確認執行結果。
假設有錯誤的話,也可以由這裡來尋找錯誤: