Google Code 提供下列語言介面: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
「Google 應用服務引擎」讓您在 Google 的基礎結構上執行您的網路應用程式。「應用服務引擎」應用程式的建置簡單、維護容易,而且可以因應流量和資料儲存量輕鬆擴充。使用「應用服務引擎」,就不需要維護伺服器:您只要上傳應用程式,就可以馬上服務您的使用者。
您可以使用「Google 應用服務」,從自己的網域名稱 (例如 http://www.example.com/) 提供應用程式。或者,您可以使用 appspot.com 網域上的免費名稱,提供您的應用程式。您可以選擇和全世界分享您的應用程式,或僅限您的組織成員使用。
「Google 應用服務引擎」支援多種程式設計語言編寫的應用程式。透過「應用服務引擎」的 Java 執行階段環境,您可以使用標準 Java 技術 (包括 JVM、Java servlet 和 Java 程式設計語言) 或是其他使用 JVM 直譯器或編譯器的語言 (例如 JavaScript 和 Ruby),建置您的應用程式。「應用服務引擎」也提供 Python 專屬執行階段環境,其中包括快速的 Python 直譯器以及 Python 標準程式庫。Java 和 Python 執行階段環境的設計可確保應用程式能夠快速、安全地執行,而且不會受到系統上其他應用程式的干擾。
使用「應用服務引擎」時,您只需要支付實際使用的費用。沒有設定成本,也沒有循環費用。應用程式使用的資源 (例如儲存空間和頻寬) 均以 GB 為單位計算,並採用優勢費率計費。您將控制應用程式能夠使用的資源上限,因此可以將費用維持在您的預算內。
開始使用「應用服務引擎」不需支付任何費用。所有應用程式可以使用高達 500MB 的儲存空間,以及足夠支援每月 5 百萬次網頁瀏覽數的 CPU 和頻寬,而且完全免費。啟用應用程式的計費功能時,我們將提高您的免費額度,而您只需要為超過免費等級的資源使用量支付費用。
「Google 應用服務引擎」讓建置可靠執行的應用程式變得很輕鬆,即使是大量負載和大量的資料也是如此。「應用服務引擎」包括下列功能:
您的應用程式可以在下列其中一個執行階段環境中執行:Java 以及 Python。每個環境均提供網路應用程式開發的標準通訊協定和一般技術。
應用程式執行於安全的環境,該環境對底層作業系統提供有限的存取。這些限制允許「應用服務引擎」在將應用程式的網頁要求分散至多個伺服器,以及啟動和停止伺服器以符合流量需求。沙箱會將您的應用程式隔離在其安全、可靠的環境中,此環境與硬體、作業系統和網頁伺服器的實際位置無關。
安全的沙箱環境的限制範例包括下列各項:
您可以使用通用的 Java 網路開發工具和 API 標準,為 Java 執行階段環境開發您的應用程式。您的應用程式會使用 Java Servlet 標準與環境互動,而且可以使用一般網路應用程式技術,例如 JavaServer Pages (JSP)。
Java 執行階段環境使用 Java 6。「應用服務引擎 Java SDK」支援使用 Java 5 或 Java 6 開發應用程式。
這個環境包括 Java SE Runtime Environment (JRE) 6 平台以及程式庫。沙箱環境的限制已透過 JVM 完成實作。只要不超過沙箱限制,應用程式可以使用任何 JVM 位元組碼或程式庫功能。例如,位元組碼嘗試開啟通訊端或寫入檔案時,將擲回執行階段例外狀況。
您的應用程式使用 Java 標準 API 存取大多數的「應用服務引擎」服務。至於「應用服務引擎」資料存放區,Java SDK 包含 Java Data Objects (DJO) 以及 Java Persistence API (JPA) 介面的實作。您的應用程式可以使用 JavaMail API,透過「應用服務引擎」的「郵件」服務傳送電子郵件。java.net HTTP API 會存取「應用服務引擎」的「URL 擷取」服務。「應用服務引擎」也包括低階 API,讓其服務實作其他介面卡,或從應用程式直接使用。如需Datastore API (資料存放區 API)、Memcache API、URL Fetch API (URL 擷取 API)、Mail API (郵件 API)、Images API (影像 API)以及 Google Accounts API 的詳細資訊,請參閱相關文件。
一般來說,Java 開發人員會使用 Java 程式設計語言和 API 實作 JVM 的網路應用程式。透過 JVM 相容的編譯器或直譯器,您也可以使用其他語言開發網路應用程式,例如 JavaScript、Ruby 或 Scala。
如需 Java 執行階段環境的詳細資訊,請參閱「Java 執行階段環境」。
透過「應用服務引擎」的 Python 執行階段環境,您可以使用 Python 程式設計語言實作您的應用程式,並在最佳化的 Python 直譯器上執行。「應用服務引擎」包括多種適用於 Python 網路應用程式開發的 API 和工具,包括一個 Rich Data Modeling API (Rich Data 模型 API)、一個易用的網路應用程式架構,以及各種管理和存取應用程式資料的工具。您也可以使用各種完善的程式庫和架構開發 Python 網路應用程式,例如 Django。
Python 執行階段環境使用 Python 版本 2.5.2,而未來版本可能會納入 Python 3 支援。
Python 環境包括 Python 標準程式庫。當然,並非所有程式庫的功能都可以在沙箱環境中執行。例如,呼叫試圖開啟通訊端或寫入檔案的方法,將引發例外狀況。為方便起見,在標準程式庫中,數個核心功能不受此執行階段環境支援的模組已經停用,而匯入這些模組的程式碼將引發錯誤。
為 Python 環境設計的應用程式碼必須全部使用 Python 編寫。使用 C 語言編寫的擴充套件將不受支援。
Python 環境提供豐富的 Python API,例如資料存放區、Google 帳戶、URL 擷取以及電子郵件等服務。「應用服務引擎」也提供簡單的 Python 網路應用程式架構 (稱為 webapp),讓建置應用程式變得很輕鬆。
您可以隨著應用程式上傳其他第三方程式庫,但這些程式庫必須是以純粹的 Python 實作,且不需要任何不支援的標準程式庫模組。
如果要進一步瞭解 Python 執行階段環境,請參閱 Python 執行階段環境。
「應用服務引擎」提供強大的分散式資料儲存服務,具有查詢引擎和交易功能。就像分散式網頁伺服器會隨著流量而成長,分散式資料存放區也會隨著您的資料量而變大。
「應用服務引擎」資料存放區與傳統關聯式資料庫不同。資料物件 (或稱「實體」) 具有種類和一組屬性。查詢可以透過屬性值篩選和排序,抓取指定種類的實體。屬性值可以是任何支援的屬性值類型。
資料存放區實體是「沒有結構描述」的。應用程式碼會提供資料實體的結構,並強制執行。Java JDO/JPA 介面和 Python 資料存放區介面支援在應用程式中套用與強制執行結構。您的應用程式也可以直接使用資料存放區,以套用所需的結構。
資料存放區是非常一致的,且使用開放式並行控制。在交易中發生的實體更新,若其他處理程序同時正在嘗試更新相同的實體,則該交易會重試固定的次數。應用程式可以在單一交易中執行多個資料存放區操作,採取全部成功或全部失敗的方式,以確保資料的完整性。
資料存放區使用「實體群組」橫跨其分散式網路來實作交易。交易會在單一群組中操縱實體。相同群組的實體會儲存在一起,讓交易有效率地執行。建立實體時,應用程式可以指派要群組的實體。
「應用服務引擎」支援應用程式與「Google 帳戶」的整合,以執行使用者驗證。您的應用程式允許使用者以 Google 帳戶登入,並存取與該帳戶相關的電子郵件地址和顯示名稱。使用「Google 帳戶」讓使用者可更快使用您的應用程式,因為使用者可能不需要再建立新帳戶。此外也可以為您省下一些麻煩,不需要只是為了應用程式就再實作一套帳戶系統。
若您的應用程式是在「Google 應用服務」下執行,就可以使用組織成員和「Google 應用服務」帳戶的相同功能。
Users API (使用者 API) 也可以告訴應用程式,目前的使用者是否為此應用程式的已註冊系統管理員。如此便可以輕鬆實作僅供管理使用的網站區域。
如要進一步瞭解如何與「Google 帳戶」整合,請參閱使用者 API 參考資料。
「應用服務引擎」提供各種服務,讓您管理應用程式時,能夠執行常見的操作。使用下列 API,便可取得相關服務:
使用「應用服務引擎」的 URL 擷取服務,應用程式便可以使用網際網路上的資源,例如 web 服務或其他資料。URL 擷取服務使用高速的 Google 基礎架構擷取網路資源,許多 Google 產品都是使用相同的基礎架構擷取網頁。
應用程式可以使用「應用服務引擎」的郵件服務來傳送郵件訊息。此郵件服務使用 Google 基礎架構傳送郵件訊息。
Memcache 服務提供高效能的記憶體中金鑰-值快取,您的應用程式中的許多實例都可以使用。有些資料 (例如暫存資料或從資料存放區複製到快取的資料) 不需要資料存放區的持續保存和交易功能的資料,因此十分適合使用 Memcache 執行高速存取。
影像服務讓您的應用程式可以操縱影像。透過這個 API,您可以調整大小、裁剪、旋轉和翻轉 JPEG 和 PNG 格式的影像。
「Cron 服務」可讓您排程工作,並於固定的時間間隔執行。如需詳細資訊,請參閱 Python 或 Java cron 文件。
Java 和 Python 專用的應用服務引擎軟體開發套件 (SDK),分別包含一個網頁伺服器應用程式,可以模擬本機電腦上的所有「應用服務引擎」服務。每個 SDK 都包括「應用服務引擎」所提供的所有 API 和程式庫。網路伺服器也會模擬安全沙箱環境,包括檢查「應用服務引擎」執行階段環境不允許的系統資源存取嘗試。
每個 SDK 也包含將應用程式上傳至「應用服務引擎」的工具。一旦您建立應用程式碼、靜態檔案和設定檔後,可執行此工具來上傳資料。工具會提示您輸入 Google 帳戶電子郵件地址和密碼。
如果您針對已經在「應用服務引擎」上執行的應用程式推出新版本,便可上傳新版本。使用者仍然可以繼續使用舊的版本,一直到他們改用為新版本為止。您可以在舊版仍在運作的狀況下,同時在「應用服務引擎」上測試新版本。
Java SDK 可以在任何安裝 Java 5 或 Java 6 的平台上執行。SDK 提供 Zip 檔案下載。如果您使用的是 Eclipse 開發環境,您可以使用「Eclipse 專用的 Google 外掛程式」建立、測試與上載「應用服務引擎」應用程式。SDK 也包括一個命令列工具,可用於執行開發伺服器以及上傳應用程式。
Python SDK 是在純 Python 中完成實作,且可以在任何安裝 Python 2.5 的平台執行,包括 Windows、Mac OS X 和 Linux。我們提供 Zip 檔案的 SDK,並提供 Windows 和 Mac OS X 的安裝程式。
管理控制台可管理「應用服務引擎」上執行的應用程式,為網頁式的介面。您可以用它來建立新應用程式、設定網域名稱、變更現用的應用程式版本、查看使用情況和錯誤記錄,以及瀏覽應用程式的資料存放區。
您不僅可以輕鬆建立「應用服務引擎」的應用程式,而且它還是免費的!您可以建立帳戶並發行應用程式,其他人就可以馬上使用,完全不收費,也沒有任何義務。免費帳戶的應用程式可以使用高達 500MB 的儲存空間和每月 5 百萬人次的網頁瀏覽數。當您需要更多資源時,可以啟用計費功能,並設定每日預算上限,再根據需求分配預算給每個資源。
每個開發人員帳戶最多可以註冊 10 個應用程式。
每個應用程式配置的資源有限,也就是具備一定的「配額」。配額決定應用程式每天可以使用的資源量。在不久的將來,您將可以購買額外資源,藉此調整部分配額。
部分功能的限制是為保護系統的穩定性,與配額無關。例如,呼叫應用程式服務網路要求時,應用程式必須在 30 秒內發出回應。若應用程式花的時間太長,該處理程序會終止,而伺服器會將錯誤代碼傳回給使用者。要求逾時是動態的,而且如果要求處理常式常常逾時,還可以進一步縮短,以節省資源。
另一個服務限制的例子,是限制查詢傳回的結果數量。查詢以傳回 1,000 筆結果為上限。查詢結果筆數如果超過上限,也只會傳回上限值。這麼一來,就算這項查詢要求原本可能會逾時,但有了這個限制,就能夠保留資料存放區的資源。
如果嘗試破壞或濫用配額 (例如不斷使用多個帳戶來操作應用程式),會違反服務條款,而且可能導致應用程式停用或帳戶關閉。
如需配額清單以及配額系統的說明,包括啟用計費時可以提高的配額,請參閱「配額」。
如果要進一步瞭解 Google 應用服務引擎:
歡迎使用 Google 應用服務引擎!