AWS Lambda – 配置 Lambda 函式



在前面的章節中,我們學習瞭如何在 AWS 控制檯中建立 AWS Lambda 函式。但是,建立 Lambda 函式還有其他引數。這些包括記憶體分配、超時等。

在本章中,讓我們詳細瞭解 AWS Lambda 的以下配置屬性。

記憶體分配

登入 AWS 控制檯並建立或選擇現有的 lambda 函式。單擊“**配置**”選項卡以獲取分配的記憶體的詳細資訊。請檢視以下所示的螢幕截圖 -

Memory Allocation

請注意,預設情況下分配的記憶體為 **128MB**。如果要增加記憶體,可以單擊滑塊。

隨著您移動滑塊,記憶體將增加到 **64MB**。觀察可用的最大記憶體為 **3008MB**。請檢視以下所示的螢幕截圖 -

Maximum Memory

您也可以從命令提示符使用 **aws cli** 來增加記憶體限制。您需要以 64MB 的增量提供記憶體。

現在,讓我們增加名為:**myfirstlambdafunction** 的 AWS Lambda 的記憶體限制。

函式的記憶體詳細資訊顯示在下面給出的螢幕截圖中 -

Memory Details

使用 **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 Lambda 函式 **myfirstlambdafunction** 在 AWS 控制檯中的相應輸出顯示在此處。觀察記憶體已從 128MB 更改為 256MB。

Memory Command

最大執行時間

超時是分配給 AWS Lambda 函式的時間,如果超時發生則終止。AWS Lambda 函式將在分配的時間內執行,或者如果超過給定的超時時間則終止。您需要評估函式執行所需的時間,並相應地在 AWS 控制檯的“**配置**”選項卡中選擇時間,如下所示 -

Maximum Execution Time

IAM 角色

建立 AWS Lambda 函式時,需要分配角色或許可權。如果您需要 AWS Lambda 用於 S3 或 dynamoDB,則需要分配有關 lambda 服務的許可權。根據分配的角色,AWS Lambda 將決定要採取的步驟。例如,如果您授予 dynamodb 的完全訪問許可權,則可以新增、更新和刪除 dynamodb 表中的行。

處理程式名稱

這是 AWS Lambda 函式執行的開始。處理程式函式包含觸發事件的詳細資訊、上下文物件以及必須在 AWS Lambda **成功**或**錯誤**時傳送回的回撥。

nodejs 中的處理程式函式格式如下所示 -

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

使用環境變數的 Lambda 函式

在本節中,我們將使用在配置部分中新增的環境變數建立一個簡單的 Lambda 函式。為此,請按照以下步驟操作並參考相應的螢幕截圖 -

步驟 1

轉到 AWS 控制檯並在 Lambda 中建立一個函式,如圖所示。

Lambda Variables

步驟 2

現在,新增環境變數,如圖所示 -

Lambda Environment

步驟 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 函式執行的輸出將如下所示 -

Lambda Function Execution
廣告