API Gatewayの設定を最小限にして、LambdaのREST APIを作成してみます。
制御をLambdaで行うことで、ヘッダーを動的にしたり、クロスサイトスクリプト(XSS/CORS)への対応も容易にでき、特にAPI Gatewayの知識が深くなくても扱えるようになると思います。
Lambdaの作成
API Gatewayと繋げるのが目的なので設定等は好きなようにしてください。 ただしコードの説明は後でするので「Node.js 8.10」で作成した方が分かりやすいとは思います。
API Gatewayを設定
Lambdaの設定画面のままトリガーの追加でAPI Gatewayを指定します。
"API"は"新規APIの作成"を指定し、あとはREST APIのURLになるので好きなように入力してください。
"保存"をすれば、API Gatewayの設定はこれで終わりです。
Lambdaを変更
このままだとHTTP Status も何も設定していないのでブラウザでURLを開いた時にエラーになってしまいます。 HTTP Statusを返すようにLambdaを変更しましょう。
exports.handler = async (event) => { return { "statusCode": 200, "body": 'Hello from Lambda!' }; };
"statusCode"と"body"を返すようにしました。 保存して確認してみましょう。
確認
Lambdaの追加したトリガーのAPI Gatewayにリンクがあるので、そこからAPI Gatewayを開きます。 (メニューから開いても一緒です)
ステージ(リソースじゃないよ)を開くとURLが書かれていますので押してみましょう。
先ほどLambdaに書いたコードが表示されたのが確認できます。
あとがき
今回はひとまず最低限のREST APIを作成してみました。 API Gatewayはほとんど触っていないといっていいレベルで実現できたのが分かったと思います。 感の良い方ならもうお気付きかもしれませんが、Lambdaの関数を少し変えてやればResponse Headerの変更なんかも行えます。 そこはまたの機会に紹介したいと思います。