Aws-lambda-configuring-lambda-function

提供:Dev Guides
移動先:案内検索

AWS Lambda – Lambda関数の構成

前の章では、AWSコンソールでAWS Lambda関数を作成する方法を学びました。 ただし、Lambda関数を作成するための他のパラメーターがあります。 これらには、メモリ割り当て、タイムアウトなどが含まれます。

この章では、AWS Lambdaの次の設定プロパティについて詳しく理解しましょう。

メモリ割り当て

AWSコンソールにログインし、既存のラムダ関数を作成または選択します。 [構成]タブをクリックして、割り当てられたメモリの詳細を取得します。 以下に示すスクリーンショットを見てください-

メモリ割り当て

デフォルトで割り当てられるメモリは 128MB であることに注意してください。 メモリを増やしたい場合は、スライダーをクリックします。

スライダーを動かすと、メモリは 64MB に増加します。 使用可能な最大メモリが 3008MB であることを確認してください。 以下に示すスクリーンショットを見てください-

最大メモリ

コマンドプロンプトから aws cli を使用して、メモリ制限を増やすこともできます。 64MB単位でメモリを割り当てる必要があります。

ここで、: myfirstlambdafunction という名前でAWS Lambdaのメモリ制限を増やしましょう。

関数のメモリの詳細は、以下のスクリーンショットに示されています-

メモリの詳細

*aws cli* を使用してメモリを変更するために使用されるコマンドは次のとおりです-
aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user

AWSコンソールでのAWS Lambda関数 myfirstlambdafunction の対応する出力を次に示します。 メモリが128MBから256MBに変更されたことを確認します。

メモリコマンド

最大実行時間

タイムアウトは、タイムアウトが発生した場合にAWS Lambda関数が終了するために割り当てられた時間です。 AWS Lambda関数は、割り当てられた時間内に実行されるか、指定されたタイムアウトを超えると終了します。 関数の実行に必要な時間を評価し、それに応じて以下に示すようにAWSコンソールの[構成]タブで時間を選択する必要があります-

最大実行時間

IAMロール

AWS Lambda関数を作成する場合、ロールまたはアクセス許可を割り当てる必要があります。 S3またはdynamoDB用のAWS Lambdaが必要な場合は、lambdaのサービスに関する許可を割り当てる必要があります。 割り当てられたロールに基づいて、AWS Lambdaは実行する手順を決定します。 たとえば、dynamodbのフルアクセスを許可する場合、dynamodbテーブルの行を追加、更新、削除できます。

ハンドラー名

これがAWS Lambda関数の実行の開始です。 ハンドラー関数には、トリガーされたイベント、コンテキストオブジェクト、およびAWS Lambdaの success または error で送り返す必要があるコールバックの詳細が含まれます。

nodejsのハンドラ関数の形式はここに示されています-

exports.handler = (event, context, callback) => {
   callback(null, "hello from lambda");
};

環境変数を使用したLambda関数

このセクションでは、設定セクションで追加された環境変数を使用して簡単なLambda関数を作成します。 この目的のために、以下の手順に従って、それぞれのスクリーンショットを参照してください-

ステップ1

AWSコンソールに移動し、示されているようにLambdaで関数を作成します。

ラムダ変数

ステップ2

次に、示されているように環境変数を追加します-

ラムダ環境

ステップ3

さて、次のようにLambdaコードで同じものをフェッチしましょう-

exports.handler = (event, context, callback) => {
   var hostName = process.env.host;
   var userName = process.env.username;
   callback(null, "Environment Variables =>"+hostName+" and "+userName);
};

ステップ4

環境変数から詳細を取得するには、示されているように process.env を使用する必要があります。 この構文は NodeJS ランタイム用であることに注意してください。

var hostName = process.env.host;
var userName = process.env.username;

ステップ5

実行時のラムダ関数の出力は次のようになります-

Lambda関数の実行