Hello Lambda Function

Hello Lambda Function

如何撰寫一個 Lambda function 並且能讓外部來叫用呢?

本文主要分三個部份:

基本使用

目標是能利用瀏覽器或 Postman 呼叫網址,觸發 Lambda 來做一些事情,在這裡是寫一個說哈摟的函式 sayHi

步驟如下:

exports.handler = async (event) => {
  return {
    statusCode: 200,
    body: JSON.stringify('Hello from Lambda!'),
  };
};

sayHi Lambda function


簡單打 API 是可以做到的,那麼如果想帶入一些資訊呢?像是 GET 會用網址參數、POST 會從 request body 帶資料那樣。


怎麼帶網址參數?

若要從網址取得參數,則修改說哈摟的函式 sayHi 如下,從 event 取得 queryStringParameters 的 key 即可。

從網址帶參數 name,這樣說哈摟的時候,就會帶入指定的名字了!,例如:https://xxxx.lambda-url.us-east-1.on.aws?name=Summer,會出現 Hello Summer from Lambda!

exports.handler = async (event) => {
  const { queryStringParameters: { name } } = event;

  return {
    statusCode: 200,
    body: JSON.stringify(`Hello ${name} from Lambda!`),
  };
};

得到結果。

Hello Lambda Function 怎麼帶網址參數

建立 RESTful API

目標是利用 API Gateway 來建立 RESTful API,作為 Lambda 的 trigger,這樣 POST 時就能從 request body 帶資料。

依舊修改說哈摟的函式 sayHi,步驟如下:

RESTful API sayHi

{
  "name": "Summer"
}

RESTful API sayHi Invoke URL

exports.handler = async (event) => {
  return {
    statusCode: 200,
    body: JSON.stringify(`Hello ${event.name} from Lambda!`),
  };
};

Hello Lambda Function - Test

Hello Lambda Function 建立 RESTful API