[過去記事]AWS Lambdaを使ってみよう！（文字列返却編）

## 今回作るもの

冒頭でも触れましたが、今回は「Hello from Lambda!」という文字列をJSONで返すだけのAPIをLambdaで作って見ようと思います！

前述した目的を達成することだけを考え細かい設定は省き進めようと思います。返却文字列の変更などは別記事で紹介しようと思っています。

なお、言語はPythonを用います。

## 準備

### Lambdaの準備

AWSにログインしてLambdaのホーム画面に移動します。「関数の作成」をクリックします。

![Cursor_と_Lambda-1024x292.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/cfa38c72-033b-6347-cb18-369a80b9ee9f.png)

次の画面にて下記の様に設定・選択します。設定後、内容を確認して「関数を作成」をクリックします。

- 関数のプリセット：一から作成
- 関数名：任意の内容でOK（今回はtest_functionとする）
- ランタイム：Python 3.9
- アーキテクチャ：x86_64
- デフォルトの実行ロールの変更内の実行ロール：基本的なLambdaアクセス権限で新しいロールを作成
- 詳細設定：特にいじらない

![Cursor_と_関数の作成_-_Lambda-1-1024x602.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/78251588-397f-e4b2-3190-5748ffa339ee.png)

![Cursor_と_関数の作成_-_Lambda-2-1024x771.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/6eb0c740-c51e-92bf-d71a-6f84d500cf05.png)

遷移先のページで表示されている「Test」をクリックします。

![Cursor_と_test_function_-_Lambda-1024x513.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/991f6d1e-fc3f-ce34-8132-e0fb6cb7c66f.png)

下記の様にテストイベントを設定します。設定後「保存」をクリックします。

- イベントアクションをテスト：新しいイベントを作成
- イベント名：任意の内容でOK（今回はtest_function_testとする）
- イベント共有設定：プライベート
- テンプレート - オプション：hello-world
- イベント JSON：いじらない

![test_function_-_Lambda-662x1024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/5d0cf52a-b3ca-2b89-c088-51d30231a834.png)

もう一度「Test」をクリックしてみましょう。

![Cursor_と_test_function_-_Lambda-1-1024x704.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/f8df0514-1783-d1f7-cd5c-a78a6bdb462b.png)

テスト結果のタブが開きます。特にエラーなどが出ていないか確認しましょう。

![Cursor_と_test_function_-_Lambda-2-1024x446.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/cc31c83e-3eaa-9ead-33e3-6add0597065a.png)

### API Gatewayの準備

トリガーを追加をクリックしましょう。

![Cursor_と_test_function_-_Lambda-3-1024x482.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/49b812c5-89a8-ce13-ba8e-21719545f96e.png)

「ソースを選択」をクリックし「API Gateway」をクリックしましょう。

![Cursor_と_トリガーの追加_-_Lambda.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/1f2a8b7a-4e23-51c1-bf2d-2ee1e3f39e4e.png)

下記の様に設定します。（API typeなどの設定項目は「Create a new API」を選択すると表示されるはずです。）

- Intent：Create a new API
- API type：REST API
- Seculity：Open
- Additional Settings：特にいじらない

設定を確認し「追加」をクリックしましょう。

![Cursor_と_トリガーの追加_-_Lambda-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/ee040de6-cd12-769b-e245-3f085c0e8579.png)

## 実行

「関数の概要」の中の「API Gateway」をクリックするとトリガーとなっているAPI GatewayのURLが確認できます。このURLをコピーしてみましょう。

![Cursor_と_test_function_-_Lambda-4-1024x548 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/8378594e-fe7d-bd90-e17c-398423a0a621.png)

コピーしたURLをブラウザに貼り付けてEnterを押下してみましょう。そうすると「Hello from Lambda!」という文字列が表示されていることが確認できます。問題なくLambdaとAPI Gatewayが設定できていたようです。

![Cursor_と_https___z715871hc1_execute-api_ap-northeast-1_amazonaws_com_default_test_function.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/48f29c30-da20-fc8e-36f3-c5d2462d8de8.png)

## おわりに

完全にブラウザベースでAPIを作成する事ができてしまいました。。！もちろんもっと複雑なことをしたいならPythonやその他の言語でLambda上で実装する必要があります。しかしここまで手軽だと、サーバーレスの波はもうそこまで来ているのかもしれません、、！（なんならその波に乗り遅れているすらある）