😽

Lambda関数URLのハンズオン

2024/05/23に公開

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