はじめに
サーバーレスってなんだろう?
という疑問を解決すべく、ある程度勉強したのちにAWS Lambda + API Gatewayで遊んでました。
その中で、とりあえず LambdaとAPIGatewayの使い方はなんとなくわかってきたので、基本であるHello Worldをやってみます!
手順
###(1)AWS Lambdaで関数を作成
「関数を作成」をクリックします
「1から作成」を選択します。今回は、関数名を「helloWorld」とします。
「関数コード」で「コードをインラインで編集」を選択し、下記コードを入力
exports.handler = async (event) => {
// TODO implement
const greeting = "Hello World!!"
return greeting;
};
入力後関数を保存します。
テストイベントに関しては、今回は使用しません。
こちらを使用すれば、eventオブジェクトに入るプロパティを作成することができます。
POSTを使用する際に使うのかもしれませんが、まだわかっていません(笑)
(2)API GatewayでAPIを作成、デプロイ
「APIを作成」をクリックします。
API名はなんでもいいです。
今回はわかりやすく「HelloWorldAPI」とします。
「リソースを作成」を選択します。
ここでURL規則を設定することができます。今回は「/hello」を追加します。
「〜〜/hello」をいうURLに対しての処理をLambdaに作成した関数にやらせることとなります。
「メソッドを作成」をクリックし、GETを選択します。
Lambda関数名を入力するフォームに。先ほど作成した「helloWorld」関数を入力します。
「APIのデプロイ」を選択します。
ステージ名はなんでも良いです。
(3)curlでテスト
デプロイした際に使用できるURLが表示されるかと思います。
それを使ってcurlでGETメソッドを送ってみましょう。
$ curl -X GET https://○○○.amazonaws.com/dev/hello
"Hello World!!"
終わり
おしまい。
DynamoDBの接続とか、POSTメソッドとかやってみるともっと面白いですね。
DynamoDBの接続はなぜかうまくいかないため苦戦中。