在前面的章節(jié)中,我們學(xué)習(xí)了如何在 AWS 控制臺(tái)中創(chuàng)建 AWS Lambda 函數(shù)。但是,還有其他參數(shù)可用于創(chuàng)建 Lambda 函數(shù)。這些包括內(nèi)存分配、超時(shí)等。
免綁卡注冊(cè)AWS云賬戶:http://hkonecloud.755800.com/
在本章中,讓我們?cè)敿?xì)了解 AWS Lambda 的以下配置屬性。
內(nèi)存分配
登錄 AWS 控制臺(tái)并創(chuàng)建或選擇現(xiàn)有的 lambda 函數(shù)。單擊 配置 選項(xiàng)卡以獲取分配的內(nèi)存的詳細(xì)信息??纯聪旅骘@示的屏幕截圖-
請(qǐng)注意,默認(rèn)分配的內(nèi)存為 128MB。如果你想增加內(nèi)存,你可以點(diǎn)擊滑塊。
當(dāng)您移動(dòng)滑塊時(shí),內(nèi)存將增加到 64MB。請(qǐng)注意,可用的最大內(nèi)存為 3008MB??纯聪旅骘@示的屏幕截圖-
您還可以在命令提示符下使用 aws cli 來(lái)增加內(nèi)存限制。您必須以 64MB 的增量分配內(nèi)存。
現(xiàn)在,讓我們?cè)黾用Q為: myfirstlambdafunction的 AWS Lambda 的內(nèi)存限制。
函數(shù)的內(nèi)存細(xì)節(jié)顯示在下面給出的屏幕截圖中-
用于使用 aws cli 更改內(nèi)存的命令如下-
aws lambda update-function-configuration--function-name your function name--
region region where your function resides--memory-size memory amount--
profile admin user
AWS 控制臺(tái)中 AWS Lambda 函數(shù) myfirstlambdafunction 的相應(yīng)輸出如下所示。觀察內(nèi)存從128MB變?yōu)?56MB。
最長(zhǎng)執(zhí)行時(shí)間
超時(shí)是分配給 AWS Lambda 函數(shù)在超時(shí)發(fā)生時(shí)終止的時(shí)間。 AWS Lambda 函數(shù)將在分配的時(shí)間內(nèi)運(yùn)行或在超過(guò)給定的超時(shí)時(shí)間時(shí)終止。您需要評(píng)估函數(shù)執(zhí)行所需的時(shí)間,并相應(yīng)地在 AWS 控制臺(tái)的 Configuration 選項(xiàng)卡中選擇時(shí)間,如下所示-
IAM 角色
在創(chuàng)建 AWS Lambda 函數(shù)時(shí),需要分配角色或權(quán)限。如果您需要 AWS Lambda for S3 或 dynamoDB,則需要分配有關(guān) lambda 服務(wù)的權(quán)限。根據(jù)分配的角色,AWS Lambda 將決定要采取的步驟。例如,如果您授予 dynamodb 的完全訪問(wèn)權(quán)限,則可以從 dynamodb 表中添加、更新和刪除行。
處理程序名稱
這是 AWS Lambda 函數(shù)執(zhí)行的開(kāi)始。處理程序函數(shù)具有觸發(fā)事件的詳細(xì)信息、上下文對(duì)象和必須在 AWS Lambda 的 success 或 error 上發(fā)回的回調(diào)。
nodejs 中處理函數(shù)的格式如下所示-
exports.handler = (event, context, callback) => {
callback(null, "hello from lambda");
};
使用環(huán)境變量的 Lambda 函數(shù)
在本節(jié)中,我們將使用配置部分中添加的環(huán)境變量創(chuàng)建一個(gè)簡(jiǎn)單的 Lambda 函數(shù)。為此,請(qǐng)按照以下步驟操作并參考相應(yīng)的屏幕截圖-
步驟 1
轉(zhuǎn)到 AWS 控制臺(tái)并在 Lambda 中創(chuàng)建一個(gè)函數(shù),如圖所示。
步驟 2
現(xiàn)在,添加環(huán)境變量,如圖所示-
步驟 3
現(xiàn)在,讓我們?cè)?Lambda 代碼中獲取相同的內(nèi)容,如下所示-
exports.handler = (event, context, callback) => {
var hostName = process.env.host;
var userName = process.env.username;
callback(null, "Environment Variables =>"+hostName+" and "+userName);
};
步驟 4
要從環(huán)境變量中獲取詳細(xì)信息,我們需要使用 process.env,如圖所示。請(qǐng)注意,此語(yǔ)法適用于 NodeJS 運(yùn)行時(shí)。
var hostName = process.env.host;
var userName = process.env.username;
步驟 5
執(zhí)行時(shí) Lambda 函數(shù)的輸出將如下所示-
海外服務(wù)器免費(fèi)測(cè)試:http://hbjsdrq.com/