wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/Hello_World

[wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ <<Last] ? [wiki:zsjheng/GoogleAppEngine/ Home ?] [wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ Section ?] [wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ Next>>] ?

.......未完待續先存檔........

Hello World!

安裝完Python以及Google App Engine的執行環境之後,我們先來寫一個簡單的Hello World Web應用程式,在本機上執行體驗一下Google App Engine的執行結果,並了解如何編譯、執行Google App Engine的程式碼。 基本上,在安裝完Google App Engine SDK後,在其安裝目錄內會有一個 demo 的資料夾,底下還有一個 guestbook 資料夾,裡面則是一個簡單且基本的範例程式。 不過在這邊還是先介紹更簡單的 Hello World程式來當做第一個體驗Google App Engine的程式。

首先先在Google App Enigne的安裝目錄(Windows 平台預設為C:\Program Files\Google\google_appengine;Linux平台則為使用者自行解縮縮後的目徑;Mac OS X 平台則毋需擔心此問題,可用 GoogleAppEngineLauncher? 直接測試) 下先新增一個文字檔取名為 hello.py,接著編輯hello.py加入以下幾行字*並存檔。

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

*hello.py範例程式節錄自Google App Engine。基本上只要 print 'Hello, world!' 這段程式碼即可正常執行,第一行的 print 'Content-Type: text/plain' 用意僅在metadata的宣告,不加入亦可正常執行。


接下來我們再新增一個文字檔取名為app.yaml,這是一個設定檔且檔案名稱是固定的,請不要隨意更換名稱避免造成無法編譯的錯誤。當我們下指令編譯hello.py或者任何一個我們要開發的Google App Engine Web應用程式時,Google App Engine都會先讀取這個檔案內容來取得相關的資訊:應用程式名稱、應用程式版本編號、執行環境、API版本編號以及handler程式檔案目錄等等。 接下來我們先在app.yaml這個檔加入以下的內容。

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

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

首先application就是指我們所開發的Google App Engine Web應用程式名稱,這裡先暫定為helloworld;因為application名稱必須和上載到Google appspot網站上的Web應用程式帳號名稱一致才行,否則會有錯誤的情形發生,不過目前我們僅先在本機測試,因此將會把這個問題留到後面章節來討論。 version則是指這個應用程式的版本;runtime則是指我們用來開發這個Google Ap Engine Web應用程式的所使用的執行環境,預設當然就是Google目前唯一使用的Python語言;api_version則是 Google App Engine 所提供的API版本,目前版本為1.x,我們只要填入1即可。 最後就是handlers這個參數,這是在指定當Google App Engine接收到來自使用者的request時,該由哪一個script程式來回復;這部分我們會在第三節有更詳細的說明,在這邊讀者只要知道Google App Engine會執行 hello.py 這個script檔來處理來自使用者端的request。 

以上兩個程式存檔後,就要來在本機上作測試了。 

接著打開終端機介面,切換工作目錄到 Google App Engine 預設的安裝路徑下,直接下 dev_appserver.py . 即可。 dev_appserver.py 這個程式的目的為在本機上測試使用者所開發的 Google App Engine 專案,指令後面接的參數為所要測試的專案所在路徑,由於目前的 helloworld 範例和 dev_server.py 檔所在目錄相同,因此只要設定為代表目前目錄的 . 即可。 

Windows平台請到 開始工作列 > 執行 > 下 cmd 指令 即可。

  • Windows 平台
  C:\Program Files\Google\google_appengine> dev_appserver.py .

執行後當出現下列的執行結果: Running application XXXX on port:8080 http://localhost:8080/ 表示已經正常在本機上執行成功 (XXXX 為使用者自己的專案名稱,在此為hellowold)。 

使用者可以打開瀏覽器輸入 http://localhost:8080/ 來檢視執行的結果。 

  • Linux 平台

Linux平台上與 Windows平台唯一不同點僅差在啟動 dev_server.py 程式時,由於工作目錄與 dev_appserver.py 所在目錄相同,因此需要指定目前目錄 . ,否則會出現找不到指令的錯誤。 

  user@localhost:~/google_appengine$ ./dev_appserver.py . 

得到成功的執行結果後一樣可以打開瀏覽器輸入 http://localhost:8080/ 來檢視執行的結果。 

  • Mac OS X 平台

[wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ <<Last] ? [wiki:zsjheng/GoogleAppEngine/ Home ?] [wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ Section ?] [wiki:zsjheng/GoogleAppEngine/1.Introduction_To_GAE/ Next>>] ?

Last modified 15 years ago Last modified on Jan 5, 2009, 10:22:55 AM

Attachments (2)

Download all attachments as: .zip