Lambda関数URLのハンズオン
Lambda関数URLのハンズオンを作成する手順を以下に示します。このハンズオンでは、AWS Lambda関数を作成し、それに対してURLを設定してHTTPリクエストを送信する方法を学びます。
前提条件
AWSアカウントが必要です。
ステップ1: Lambda関数の作成
まず、Lambda関数を作成します。
1. AWS Management Consoleにログイン
AWS Management Consoleにログインします。
サービスから「Lambda」を選択します。
2. 新しいLambda関数を作成
「関数の作成」をクリックします。
以下の設定で関数を作成します。
関数名: MyLambdaFunction
ランタイム: Python 3.12
ロール: 新しいロールを作成するか、既存のロールを選択します。Lambda関数には基本的な実行ロールが必要です。
3. Lambda関数コードの記述
次に、関数のコードを記述します。シンプルな例として、以下のコードを使います。
def lambda_handler(event, context):
return {
'statusCode': 200,
'body': 'Hello, World!'
}
ステップ2: Lambda関数URLの設定
Lambda関数にURLを設定して、HTTPリクエストを受け取れるようにします。
1. 関数URLの有効化
作成したLambda関数の詳細ページに移動します。
「関数URL」を選択します。
「関数URLを作成」をクリックします。
以下の設定を行います。
認証タイプ: NONE
2. 関数URLの保存
設定を保存すると、関数URLが生成されます。
このURLをメモしておきます。
ステップ3: 関数URLのテスト
関数URLを使ってLambda関数にリクエストを送信します。
1. ブラウザでのテスト
生成された関数URLをブラウザのアドレスバーに入力してアクセスします。正常に設定されていれば、「Hello, World!」というレスポンスが表示されます。
2. curlを使用したテスト
コマンドラインからcurlを使ってテストすることもできます。
curl <YOUR_FUNCTION_URL>
ステップ4: エラーハンドリングとロギング
Lambda関数にエラーハンドリングとロギングを追加します。
1. ロギングの追加
コードにログ出力を追加します。
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def lambda_handler(event, context):
logger.info("Received event: %s", event)
return {
'statusCode': 200,
'body': 'Hello, World!'
}
2. エラーハンドリングの追加
エラーハンドリングの例を追加します。
def lambda_handler(event, context):
try:
logger.info("Received event: %s", event)
# 正常な処理
return {
'statusCode': 200,
'body': 'Hello, World!'
}
except Exception as e:
logger.error("Error: %s", e)
return {
'statusCode': 500,
'body': 'Internal Server Error'
}
まとめ
これで、基本的なAWS Lambda関数の作成と関数URLの設定が完了しました。関数URLを使用して、HTTPリクエストをLambda関数に送信し、レスポンスを受け取ることができます。さらに、ロギングとエラーハンドリングを追加することで、関数のデバッグと信頼性を向上させることができます。
このハンズオンを通じて、AWS Lambdaの基本的な使用方法と、関数URLを活用したHTTPリクエストの処理方法を学ぶことができました。
Discussion