2011年2月12日 星期六

「Google 應用服務引擎」初體驗

Google 提供了一個網路服務叫「Google 應用服務引擎」,圖案長得如下圖。
初次看到時,還真讓人摸不著頭緒~~啊!這個東西到底是做什麼用的,和飛機引擎有什麼用途?說真得,我到現在也還未摻透。

但就我的理解,覺得像是一個免費網頁空間,這個網頁空間是架構在 Google 的雲端技術上,提供給你免費的網域 (如: http://www.example.com/) 及 500 MB 的儲存空間,讓你可以有將近 500 萬人次網頁瀏覽數的 CPU 及頻寬,目前支援的語言有 Python 及 Java。


建立開發環境

Google 提供了「應用服務引擎」的軟體開發套件(SDK),你可以透過此 SDK 來開發及上傳你的 Python 或 Java 應用程式。

請依照你的習慣安裝開發程式Python V2.5  (目前只支援到 V2.5,太新的版本會無法使用) 及 Python SDK,Mac OS X 10.5 Leopard 使用者已經安裝了 Python 2.5。因我尚未玩過 Java ,若你是 Java 使用者,請自行參考 Google 的 Java 開發環境的建置。在這裡,我以Python 為例。

安裝完 Python  V2.5 後,其預設路徑會安裝在「C:\Python25」。而 Python SDK 則會在你的桌面及開始功能表多出一個「Google App Engine Launcher」的捷徑。


此程式包含網頁伺服器應用程式,它會模擬「應用服務引擎」環境,包括資料存放區的本機版本、「Google 帳戶」以及直接從您的電腦使用「應用服務引擎 API」來擷取 URL 和傳送電子郵件。


開啟「Google App Engine Launcher」程式,第一次執行,我們需要設定程式的路徑,點選功能表「Edit -> Preferences..」。

請依照你實際的情況設定。若你安裝時未改變預設路徑,可以留空白,表示使用程式預設的路徑即可。


到目前為止,開發環境已經建置完成。


建立第一個程式「Hello World !」

讓我們建立第一個「Hello World !」程式,請點選功能表「File -> Create New Application...」,依序輸入應用程式的名稱「helloworld」,以及此應用程式要存放的路徑位置,預設開啟的 Port 是「8080」,再點選「Create」按鈕來建立一個新的應用程式。以底下為例,會在 D:\PythonProjects 的路徑下建立一個新的資料夾「helloworld」,將來我們此相關的程式就放在這資料夾內。


在剛建立的「helloworld」資料夾中,建立名稱為「helloworld.py」的檔案,並輸入以下內容:
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

此 Python 程式是告知網路瀏覽器,底下為一般純文字內容,網頁會顯示一行空白及「Hello, world!」

「網路服務引擎」在建立新程式後,會產生一個名叫「app.yaml」的設定檔,請點選工具列的「Edit」按鈕編輯此設定檔。


將預設開啟的 script 檔,由「main.py」改成「helloworld.py」
application: helloworld
version: 1
runtime: python
api_version: 1

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

設定檔說明:

  • Line 1:此應用程式的識別碼為「helloworld」,於「網路服務引擎」註冊時需另外取得唯一的識別碼。
  • Line 2:本應用程式的版本為 1,「應用服務引擎」會保留以前的版本,可透過系統管理控制台回復到以前的版本。
  • Line 3:此程式是使用 Pyhone 來執行。
  • Line 7-8:若每個對 URL 的要求符合 /.* 的規則運算式,都會以 helloworld.py 來執行。

PS:此檔案的語法是 YAML,若需要更多的選項功能,請參考 app.yaml 參考資料

接著,請點選工具列的「Run」開啟網頁伺服器,接著再點選工具列的「Browse」按鈕



以網頁瀏覽器連到本機電腦的「http://localhost:8080/」網址,看執行的結果,正確的話應顯示如下畫面:


若有需要修改程式內容,可以讓網頁伺服器繼續保持在執行狀態。於儲存程式變更後,直接在瀏覽器中重新整理網頁,網頁伺服器會重新載入程式,你可現在立刻將「Hello, world!」改個字串試看看。

若要停止網頁伺服器,請點選工具列的「Stop」按鈕。

參考資料







2 則留言:

  1. 看了您的介紹,讓我獲益良多...

    回覆刪除
  2. 才剛開始寫 Blog,文筆不是很好,讓你見笑了。

    回覆刪除