Lambda + API Gateway入門。Rest API作成

API Gatewayの設定を最小限にして、LambdaのREST APIを作成してみます。

 

LambdaのREST APIを作成

制御をLambdaで行うことで、ヘッダーを動的にしたり、クロスサイトスクリプト(XSS/CORS)への対応も容易にでき、特にAPI Gatewayの知識が深くなくても扱えるようになると思います。

 

Lambdaの作成

API Gatewayと繋げるのが目的なので設定等は好きなようにしてください。
ただしコードの説明は後でするので「Node.js 8.10」で作成した方が分かりやすいとは思います。

 

Lambdaの作成

Lambda関数の作成

Lambda トリガーの追加

 

API Gatewayを設定

Lambdaの設定画面のままトリガーの追加でAPI Gatewayを指定します。

API Gatewayを指定

 

"API"は"新規APIの作成"を指定し、あとはREST APIのURLになるので好きなように入力してください。

 

APIは新規APIの作成

 

"保存"をすれば、API Gatewayの設定はこれで終わりです。

 

API Gatewayの設定

 

Lambdaを変更

このままだとHTTP Status も何も設定していないのでブラウザでURLを開いた時にエラーになってしまいます。
HTTP Statusを返すようにLambdaを変更しましょう。

 

Lambdaを変更

 

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

 

"statusCode"と"body"を返すようにしました。
保存して確認してみましょう。

 

確認

Lambdaの追加したトリガーのAPI Gatewayにリンクがあるので、そこからAPI Gatewayを開きます。
(メニューから開いても一緒です)

 

API Gateway

 

ステージ(リソースじゃないよ)を開くとURLが書かれていますので押してみましょう。

 

らAPI Gateway

 

先ほどLambdaに書いたコードが表示されたのが確認できます。

 

Lambdaに書いたコード

 

あとがき

今回はひとまず最低限のREST APIを作成してみました。
API Gatewayはほとんど触っていないといっていいレベルで実現できたのが分かったと思います。
感の良い方ならもうお気付きかもしれませんが、Lambdaの関数を少し変えてやればResponse Headerの変更なんかも行えます。
そこはまたの機会に紹介したいと思います。

 

 

 

AWS相談会