GSP068
總覽
App Engine 能讓開發人員專心做最擅長的事:編寫程式碼。App Engine 標準環境的基礎,是在 Google 基礎架構上運作的容器執行個體。這類環境可用的執行階段有數種 (Java、Python、Go 和 PHP),每種都包含支援 App Engine 標準 API 的程式庫。容器會預先設定好其中一種執行階段。對許多應用程式來說,標準環境的執行階段與程式庫就已足夠。
在 App Engine 標準環境,您可以輕鬆建構及部署應用程式,即使負載量大,而且需處理大量資料,應用程式仍能穩定執行。這類環境的功能/特色如下:
- 提供永久儲存空間,支援查詢、排序及交易功能。
- 會自動調整資源配置及平衡負載。
- 支援非同步工作佇列,可用於執行要求範圍以外的工作。
- 可排定工作,在特定時間或定期觸發事件。
- 與其他 Google Cloud 服務和 API 整合。
應用程式會在安全的沙箱環境執行,讓 App Engine 標準環境能將要求分散到多個伺服器,並視流量需求調度伺服器資源。您的應用程式是在安全可靠的專屬環境執行,不受伺服器的硬體、作業系統或實體位置影響。
本實作實驗室將介紹如何建立會顯示簡短訊息的小型 App Engine 應用程式。
目標
本實驗室的學習內容包括:
- 從 GitHub 存放區下載範例程式碼。
- 使用 Google App Engine 部署應用程式。
設定和需求
瞭解以下事項後,再點選「Start Lab」按鈕
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
- 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。
如何開始實驗室及登入 Google Cloud 控制台
-
按一下「Start Lab」按鈕。如果實驗室會產生費用,請在開啟的對話方塊中選取付款方式。右側的「Lab setup and access」面板會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 此實驗室所需的臨時憑證 (使用者名稱和密碼)
- 完成此實驗室所需的其他資訊 (如有)
請注意,實驗室計時器位於頁面頂端附近,會顯示剩餘時間。
-
按一下「Open Google Cloud console」。如果使用 Chrome 瀏覽器,也可以按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗並排開啟分頁。
注意:頁面顯示「選擇帳戶」對話方塊時,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab setup and access」面板找到「Username」。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab setup and access」面板找到「Password」。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
繼續點按後續頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要使用 Google Cloud 產品和服務,請按一下「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
-
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示
。
-
系統顯示視窗時,請按照下列步驟操作:
- 繼續操作 Cloud Shell 視窗。
- 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID:。輸出內容中有一行文字,宣告本工作階段的 Project_ID:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
- (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
- 點按「授權」。
輸出內容:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project
輸出內容:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南。
工作 1:下載範例 HTTP Server 應用程式
我們已預先建立以 Java 編寫的簡易 HTTP Server應用程式,方便您快速瞭解如何在 Google Cloud 部署應用程式。請按照下列步驟下載 HTTP Server 程式碼範例。
-
點選 Cloud 控制台右上方的「啟用 Cloud Shell」按鈕,開啟新的 Cloud Shell 工作階段。
-
在新的 Cloud Shell 終端機執行以下指令,將 Google Cloud Storage 中的檔案複製到本機目錄:
gcloud storage cp -r gs://spls/gsp068/appengine-java21/appengine-java21/* .
輸出內容:
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/http-server/src/main/java/com/example/appengine/Main.java to file://./helloworld/http-server/src/main/java/com/example/appengine/Main.java
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/pom.xml to file://./helloworld/pom.xml
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/settings.gradle to file://./helloworld/settings.gradle
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java to file://./helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/appengine-web.xml to file://./helloworld/src/main/webapp/WEB-INF/appengine-web.xml
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/web.xml to file://./helloworld/src/main/webapp/WEB-INF/web.xml
Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java to file://./helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java
Completed files 20/20 | 54.2kiB/54.2kiB
Average throughput: 40.0kiB/s
- 接著前往程式碼範例所在的目錄:
cd helloworld/http-server
這個資料夾中會有 src 目錄,內含名為 com.example.appengine 的套件。這個套件包含 HTTP Server 應用程式的原始碼。
原始碼如下所示:
package com.example.appengine;
import com.sun.net.httpserver.HttpServer;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
public class Main {
public static void main(String[] args) throws IOException {
// Create an instance of HttpServer bound to port defined by the
// PORT environment variable when present, otherwise on 8080.
int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));
HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
// Set root URI path.
server.createContext("/", (var t) -> {
byte[] response = "Hello World!".getBytes();
t.sendResponseHeaders(200, response.length);
try (OutputStream os = t.getResponseBody()) {
os.write(response);
}
});
// Create a second URI path.
server.createContext("/foo", (var t) -> {
byte[] response = "Foo!".getBytes();
t.sendResponseHeaders(200, response.length);
try (OutputStream os = t.getResponseBody()) {
os.write(response);
}
});
server.start();
}
}
運作方式
這段程式碼會在 Google App Engine 建立基本的網路伺服器,而該伺服器會回應以下兩個位址:
-
/:(主頁面) 顯示「Hello World!」
-
/foo:(特殊頁面) 顯示「Foo!」
-
匯入項目:包含建立伺服器和處理要求的工具。
-
主函式:執行時會啟動應用程式。
-
建立伺服器:
- 判斷要使用的通訊埠 (App Engine 提供的通訊埠或預設的 8080)。
- 建立監聽該通訊埠的網路伺服器。
-
處理要求:
- 設定兩項規則:
- 使用者前往主頁面 (
/) 時,顯示「Hello World!」
- 使用者前往
/foo 時,則顯示「Foo!」
-
啟動:伺服器開始運作,已可回應網頁要求。
App Engine 會代為處理伺服器管理、資源調度和安全防護等工作,簡化網頁應用程式開發作業。這個平台相當實用,可快速讓簡易網頁應用程式開始運作。
工作 2:部署及查看應用程式
在這項工作中,您要將 HTTP Server 應用程式部署至 Google App Engine。
- 現在請使用以下指令,在 App Engine 建立應用程式:
gcloud app deploy
-
系統提示時,請輸入 的對應選項編號,然後再輸入 y 繼續操作。
-
執行以下指令,查看應用程式:
gcloud app browse
不久後,系統應該就會輸出以下內容 (網址會有所不同):
Did not detect your browser. Go to this link to view your app:
https://qwiklabs-gcp-00-3e8fa18ec9dc.uc.r.appspot.com
-
點選連結,即可在網路瀏覽器中查看部署的應用程式。您應該會看到顯示「Hello World!」的簡易網頁。
-
接著,在網址列中的網址後方加上 /foo,然後按下 Enter 鍵。這時候應該會看到顯示「Foo!」的頁面。
點選「Check my progress」,確認目標已達成。
部署應用程式。
工作 3:驗收學習成果
請接受測驗,測試您對 Google Cloud Platform 瞭解多少。如有多個正確選項,請複選。
恭喜!
太棒了!在本實驗室,您學會如何將簡易 Java 應用程式部署至 Google App Engine,以及如何在網路瀏覽器中查看部署的應用程式。
後續步驟/瞭解詳情
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2025 年 2 月 6 日
實驗室上次測試日期:2025 年 2 月 6 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。