iT邦幫忙

0

伸縮自如的Flask [day 24] GCP app engine (deploy)

  • 分享至 

  • xImage
  •  

接續著昨天的進度,首先可以先準備你的程式,而我在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

來確認執行結果。

假設有錯誤的話,也可以由這裡來尋找錯誤:

https://ithelp.ithome.com.tw/upload/images/20210607/201226783a8ial4TJW.png


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言