メニュー
AWS Lambda
開発者ガイド

ステップ 2.1: Hello World Lambda 関数を作成する

このセクションの手順に従って、Hello World Lambda 関数を作成します。このステップでは以下の作業を行います。

  • 設計図を選択する – この演習では、[hello-world-python] 設計図を使用しています。その設計図には、Python で作成するサンプルコードが用意されています。Lambda 関数に使用する言語は、この演習には重要ではありません。後で、サポートされているいずれかの言語で独自の Lambda 関数を作成できます。

    設計図には、何らかの最小限の処理を行うためのサンプルコードが用意されています。ほとんどの設計図では、特定のイベントソース (Amazon S3、DynamoDB、カスタムアプリケーションなど) のイベントを処理します。たとえば、[s3-get-object] 設計図を選択した場合、Amazon S3 によって発行されて Lambda がパラメータとして受け取る、オブジェクト作成イベントを処理するサンプルコードが用意されています。

  • 関数を設定する – この演習では設計図を選択するため、コンソールでは設定情報の一部が事前に入力されます。たとえば、事前に Python 3.6 または Python 2.7 がランタイムとして設定され、サンプルコードが提供され、そのコードのハンドラとその他の設定情報 (メモリやタイムアウトなど) が指定されます。関数の設定の詳細については、「Lambda 関数」を参照してください。関数の設定パラメータの詳細については、「CreateFunction」を参照してください。

    また、Lambda 関数の呼び出しをユーザーに代わって行うために AWS Lambda が引き受けることのできる、必要なアクセス権限を関連付けた IAM ロール (実行ロール) を作成することもできます。

Hello World Lambda 関数を作成するには

  1. AWS マネジメントコンソール にサインインして、AWS Lambda コンソールを開きます。

  2. [Get Started Now] を選択します。

    注記

    コンソールに [Get Started Now] ページが表示されるのは、Lambda 関数を 1 つも作成していない場合のみです。既に関数を作成している場合は、[Lambda] > [Functions] ページが表示されます。リストのページで、[Create a Lambda function] を選択して [Lambda] > [New function] ページにアクセスします。

  3. [Select blueprint] ページで、まず、使用可能な設計図を探ります。その後、この「開始方法」の実習用に特定の設計図を選択します。

    1. 設計を確認します。[Filter] を使用して、特定の設計図を検索することもできます。(例:

      • [Filter] に「S3」と入力して、Amazon S3 イベントの処理に使用できる設計図のリストのみを取得します。

      • [Filter] に「dynamodb」と入力して、Amazon DynamoDB イベントの処理に使用できる設計図のリストのみを取得します。

    2. この「開始方法」の実習では、[Filter] に「hello-world-python」と入力し、[hello-world-python] 設計図を選択します。

  4. [Basic information] で、以下の操作を行います。

    • [Name*] で、Lambda 関数名を指定します。

    • [Role*] では、[Create new role from template(s)] を選択します。

    • [Role name*] に、ロールの名前を入力します。

    • [Policy templates] に、オプションのテンプレートのリストが表示されます。選択すると、そのポリシーに添付される必要な権限をもつロールが自動的に作成されます。[Policy templates] のリストについては、「ポリシーテンプレート」を参照してください。このチュートリアルでは、Lambda 関数には必要な基本的な実行権限がすでにあるため、このフィールドは空白のままでかまいません。

    • [Create function] を選択します。

  5. [Lambda function code] セクションの [Configuration] では、次の点に注意してください。

    • [Runtime] は Python 2.7 です

    • Python で作成されたコードが提供されます。そのコードは、受信イベントデータを読み取り、CloudWatch のログに情報の一部を記録します。

    • [Handler] には、lambda_function.lambda_handler value 値が表示されます。それは filename.handler-function という形式です。コンソールでは、lambda_function.py ファイルにサンプルコードが保存されます。そのコードでは、lambda_handler が Lambda 関数が呼び出されたときにパラメーターとしてイベントを受け取る関数の名前です。詳細については、「Lambda 関数ハンドラー (Python)」を参照してください。

  6. [Triggers] タブを選択します。[Triggers] ページで、Lambda 関数を自動的にトリガーするサービスをオプションで選択できます。[Add trigger] ボタンを選択してから省略記号 (...) がついたグレーのボックスを選択すると、使用できるサービスのリストが表示されます。

    1. 選択したサービスによっては、そのサービスのための関連情報を提供するように求められます。たとえば、DynamoDB を選択した場合、以下を指定する必要があります。

      • DynamoDB テーブルの名前

      • バッチサイズ

      • 開始位置

    2. この例ではトリガーを設定せず、[Monitoring] タブを選択します。

  7. [Monitoring] ページでは、Lambda 関数呼び出しに今すぐ使用できる CloudWatch メトリクスを説明するとともに、「Lambda ベースのアプリケーションのトラブルシューティング」など他の有益なガイドへのリンクを紹介します。

  8. [Configuration] タブを選択してから、コンソールの他のタブに注意します。

次のステップ

ステップ 2.2: Lambda 関数を手動で呼び出し、結果、ログ、メトリクスを確認する