今天的內容我們將分為兩天做介紹。昨天我們在Lambda裡面做了一個「Hello User」程式,雖然能運行,但只有我們自己在AWS Console測試才看得到。那麼問題來了:
要怎麼讓外部使用者(像是用瀏覽器、手機 App)也能呼叫這個 Lambda?
答案就是:API Gateway
API Gateway 就像一個「入口大門」,專門管理 API 的進出。
流程可以想像成:
簡單比喻:
我們來做一個簡單的REST API,讓瀏覽器輸入網址就能看到 "Hello,(你的輸入)!"
Lambda 是負責執行程式邏輯的地方。預設的 Hello World 範例只能回傳固定字串,但我想要做到「根據使用者輸入的名字來回應」。所以我們修改 Lambda 程式碼如下:
export const handler = async (event) => {
const name = event.queryStringParameters?.name || "Guest";
return {
statusCode: 200,
body: `Hello, ${name}!`
};
};
這裡有幾個重點:
event.queryStringParameters
:代表從網址上帶進來的參數,例如 ...?name=Michelle
。|| "Guest"
:如果使用者沒有輸入名字,預設回傳 Guest。為了確認程式正確,我們可以在 Lambda Console 的 Test Event 測試:
{
"queryStringParameters": {
"name": "Michelle"
}
}
測試結果應該會看到:
Hello, Michelle!
這表示我們的 Lambda 已經能根據輸入動態回應。