今回の目的
APIについて正しくイメージできているか不安なため、実際に使って正しく認識することが目的です。
あまり複雑な構成にするとAPI以外の部分でも学ぶ点が多く焦点がぼやけるため、シンプルな構成の本ハンズオンを採用することで、APIについて学べるといいなと思っています。
また、Lambdaも知識があやふやなので、実際に使ってみたいと思います。
参考元ページ
AWS公式から出ている、ビギナー向けのハンズオンです。
AWS Hands-on for Beginners 〜Serverless #1 サーバーレスアーキテクチャで翻訳WebAPIを構築する

※参考元ページより
ハンズオン開始
1.関数の作成
一から作成
【関数名】 translate-function
【ランタイム】 Python 3.13
【アーキテクチャ】 x86_64
【実行ロール】 基本的な Lambda アクセス権限で新しいロールを作成
【その他の構成】
【タグを有効化】 キー Name 値 kato
→関数の作成
2.基本設定
関数の「設定」タブを選択し、基本設定を編集します。
3.ソースコードの修正(ログ出力)
ログ出力されるよう設定しておくと、デバックの時などに便利です。
CloudWatch Logsへの送信(ログ出力)は、Lambda関数に適切なIAMロールが設定されていれば自動で有効になります。
関数作成時にデフォルト設定のままであれば、
AWSLambdaBasicExecutionRole
というポリシーのアタッチされた実行ロールが、Lambda関数に付与されているはずです。
基本設定画面で確認できます。
正しく設定されていれば、Lambdaが実行されたときに自動でロググループとログストリームが作られて、そこにログが送られます。


以下のコード3行を追加します。
import logging
logger = logging.getLogger()
logger.setLevel("INFO")
赤枠が追加した箇所です。
以下のコードも追加します。
logger.info(event)
赤枠が追加した箇所です。
4.テスト実行
テストタブで
【イベント名】test
を入力、保存してテストする
結果
テスト実行は成功しました。
レスポンスが返ってきています。
また、ソースコードに
logger.info(event)
を追加したので、イベント「test」の中身もログ出力されています(赤枠内)。

次回予告
次はLambdaハンズオン② 他のサービスを呼び出してみる
をやっていきます。




