みなさん、こんにちは。Renです。
Amplifyに続き、Lambdaのハンズオンを受けたので、その概要についてお伝えします。

ワークショップの概要

①サーバレスアーキテクチャの説明
・インフラのプロビジョニング・管理が不要、自動スケール、可用性が高いなどのメリットがある
・Lambda、API Gateway、DynamoDB、S3、SQSといったサービスもよく利用される

②Lambdaの説明
・サーバのプロビジョニング・管理なしでプログラムを実行できる
(開発者はコードを書くだけで良い)
・実行回数と実行時間により課金が発生する
・メモリの量、タイムアウト値、IAMロールを設定できる
・他のサービスから呼び出して使うことが多く、サービスによって呼び出し方法が変わる

③Lambdaを単体で使う
・Lambda→「関数を作成」


・Cloud Watchでログを確認できる

④Lambdaを他のサービスと連携させて使う
・翻訳サービスと連携させる
input_text =’おはよう’→翻訳してほしい言葉
SourceLanguageCode=’ja’,→日本語(ja)
TargetLanguageCode=’en’, →英語(en)


TargetLanguageCode=’en’, →英語(en)
output_text = respons.get(‘translatedText’)→翻訳された言語をアウトプットする

⑤API Gatewayの説明
・言語処理、ネットワーク呼び出し、Web APIなどがある
・実行回数、キャッシュメモリ量、データ転送料金で課金される
・今回はREST APIの開発
リソースとメソッドを作ることでAPIを取得する

⑥API Gatewayを単体で使う
・Mockを使ってみる

⑦API GatewayとLambdaを連携させて使う
・translateリソースを作成し、GETメソッドを作成


・設定が完了していると下図のように表示される

⑧DynamoDBの説明
・NoSQLデータベースサービス
・3つのAZにデータが自動的に保存されるので信頼性が高い
・ストレージの容量制限がない

⑨DynamoDBを単体で使う
・テーブルを作成してアイテムを1つ入れる

⑩DynamoDBとAPI GatewayとLambdaを組み合わせて使う
・DynamoDBと連携させるため、Lambda関数を修正
・IAMロールを修正して、アクセスを許可する

まとめ

今回のワークショップでは主に、Lambda、API Gateway、DynamoDBについて学ぶことが出来ました。それぞれの概要、個別の使い方を学んでから、Lambdaとの連携方法を学ぶという流れでした。個別にどういうサービスなのかを理解してから進むことが出来たので理解しやすいと感じました。
ワークショップを受講することで、Lambda、API Gateway、DynamoDBの基本操作を覚えることが出来ます。また、簡単な翻訳機能を作るワークショップを通して、関数をどう設定すればどのようなレスポンスが返ってくるのか、データはどこに保存されるのかなどを理解できます。初心者にもわかりやすいワークショップであると感じました。