My favorites | 中文(繁體) | Sign in
英文版或許有比此中譯版新的內容

Hello, World!

Python「應用服務引擎」的應用程式使用 CGI 標準與網頁伺服器溝通。伺服器接收到應用程式的要求時,它會以要求的資料,在環境變數中和標準輸入資料流上 (針對 POST 資料) 執行應用程式。若需回應,則應用程式會將回應寫入標準輸出資料流,包括 HTTP 標頭和內容。

讓我們先來實作一個可以顯示簡短訊息的小程式。

建立簡單的要求處理常式

建立名稱為 helloworld 的目錄。此應用程式的所有檔都會在這個目錄中。

helloworld 目錄裡面,建立名稱為 helloworld.py 的檔案,並輸入下列內容:

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

此 Python 指令碼會以 HTTP 標頭回應要求,標頭則描述內容、空白行以及訊息 Hello, world!

建立設定檔

「應用服務引擎」應用程式有一個設定檔,名稱為 app.yaml。除了其他功能之外,這個檔案還描述哪個 URL 應該使用哪個處理常式指令碼。

helloworld 目錄中,建立名稱為 app.yaml 的檔案,其內容如下:

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py

從上到下,此設定檔說明下列關於此應用程式的事項:

  • 應用程式識別碼為 helloworld。您使用「應用服務引擎」註冊應用程式到最後一步時,要選取唯一的識別碼,並更新此值。在開發期間,這個值可以是任意數。我們目前就將它設定為 helloworld
  • 這是此應用程式碼的版本號碼 1。若您在上傳新版本的應用程式軟體之前調整版本號碼,「應用服務引擎」會保留之前的版本,您可以使用系統管理控制台回復為之前的版本。
  • 此程式碼會在 python 執行階段環境中執行,版本 "1"。以後可能會支援其他執行階段環境和語言。
  • 每個對 URL 的要求,其路徑若符合規則運算式 /.* (所有 URL),都應該由 helloworld.py 指令碼來處理。

此檔案的語法為 YAML。如需關於設定選項的完整清單,請參閱 app.yaml 參考資料

測試應用程式

使用處理常式指令碼和設定檔,將每個 URL 對應到處理常式,便完成應用程式。您現在可以用包括「應用服務引擎 SDK」的網頁伺服器來測試它。

使用下列命令啟動網頁伺服器,切換到 helloworld 目錄:

google_appengine/dev_appserver.py helloworld/

網頁伺服器現在已經執行,並接聽連接埠 8080 的要求。使用您的網頁瀏覽器瀏覽下列 URL,以測試應用程式:

如果要進一步瞭解執行開發網頁伺服器,包括變更它所使用之連接埠的方式,請參閱 Dev 網頁伺服器參考資料,或以選項 --help 執行命令。

反覆開發

開發應用程式期間,可以讓網頁伺服器保持在執行狀態。網頁伺服器會監看原始檔案的變更,並視需要重新載入它們。

馬上嘗試:讓網頁伺服器保持在執行狀態,然後編輯 helloworld.py,將 Hello, world! 變更為其他文字。重新載入 http://localhost:8080/ 以查看變更。

若要關閉網頁伺服器,請確認終端機視窗正在執行,然後按下 Ctrl-C (或主控台的「中斷」鍵)。

在本教學課程期間,您可以讓網頁伺服器保持在執行狀態。若因需要而停止伺服器,可以執行上述的命令重新啟動。

接下來...

您現在已經有了完整的「應用服務引擎」應用程式!馬上可以部署這個簡單的成就,跟全世界的使用者分享您的成果。不過,在部署之前,我們可以考慮使用網路應用程式架構,讓增加功能變得更輕鬆。

繼續瀏覽「使用 webapp 架構」一節。