AWS Lambda创建第一个函数的具体教程

AWS Lambda(Amazon Lambda)是由亚马逊云推出的一种运行代码而无需预置或管理服务器的计算服务。用户想要使用AWS Lambda,只需在Lambda支持的一种语言运行时系统中提供代码。本文就来为大家介绍一下AWS Lambda创建第一个函数的具体流程。

亚马逊云推出了AWS Lambda免费试用服务,无需管理服务器、自动扩展应用程序、通过毫秒计量优化成本、任意规模都能获得一致的超高性能、每月免费提供100万个请求,永久免费试用。用户可以通过专属优惠链接进行注册,获取Amazon Lambda免费套餐。

免费亚马逊无服务器计算服务

一、注册并登录AWS Lambda控制台

1、提供上文专属优惠链接进入亚马逊云科技官网,点击“免费注册”。

创建AWS Lambda

2、注册完成以后,按照以下页面填写,点击“登录”。

创建AWS Lambda

3、进入控制台,找到计算>Amazon Lambda,点击进入。

创建AWS Lambda

二、使用AWS Lambda控制台创建函数

本文中函数采用一个JSON对象,其中包含两个标记有"length"和"width"的整数值。该函数将这些值相乘来计算区域,并将其作为JSON字符串返回。函数还会输出计算区域及其CloudWatch日志组名称。

要创建函数,首先要使用控制台创建基本的Hello world函数。

使用控制台创建Hello world Lambda函数

1、打开Amazon Lambda控制台的函数页面,点击“创建函数”。

AWS Lambda创建函数

2、选择从头开始编写,在基本信息窗格中,为函数名称输入myLambdaFunction。

AWS Lambda创建函数

3、对于运行时系统,选择Node.js 18.x。

4、保留架构设置为x86_64,然后选择创建函数。

现在,用户可以使用控制台的内置代码编辑器,将Lambda创建的Hello world代码替换为自己的函数代码。

5、在控制台的内置代码编辑器中,会显示AWS Lambda创建的函数代码。如果代码编辑器中没有显示index.mjs选项卡,请在文件资源管理器中选择index.mjs,如下图所示。

AWS Lambda创建函数

6、将以下代码粘贴到index.mjs选项卡中,替换Lambda创建的代码。

export const handler = async (event, context) => {
  
  const length = event.length;
  const width = event.width;
  let area = calculateArea(length, width);
  console.log(`The area is ${area}`);
        
  console.log('CloudWatch log group: ', context.logGroupName);
  
  let data = {
    "area": area,
  };
    return JSON.stringify(data);
    
  function calculateArea(length, width) {
    return length * width;
  }
};

7、选择部署以更新函数代码。当Lambda部署更改后,控制台会显示一个横幅,告知用户函数已成功更新。

三、使用AWS Lambda控制台调用函数

要使用Lambda控制台调用函数,首先要创建一个发送到函数的测试事件。该事件是包含两个键值对的JSON格式文档,其中键为"length"和"width"。

创建测试事件

1、在代码源窗格中,选择测试。

2、选择创建新事件。

3、在事件名称中,输入myTestEvent。

4、在事件JSON面板中,通过粘贴以下内容来替换默认值:

{
  "length": 6,
  "width": 7
}

5、选择保存

现在,用户可以测试函数,并使用Lambda控制台和CloudWatch Logs来查看函数的调用记录。

测试函数并在控制台中查看调用记录

在代码源窗格中,选择测试。函数完成运行后,执行结果选项卡中将显示响应和函数日志。您将看到类似以下内容的结果:

Test Event Name
myTestEvent

Response
"{\"area\":42}"

Function Logs
START RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a Version: $LATEST
2023-08-31T23:39:45.313Z	5c012b0a-18f7-4805-b2f6-40912935034a	INFO	The area is 42
2023-08-31T23:39:45.331Z	5c012b0a-18f7-4805-b2f6-40912935034a	INFO	CloudWatch log group:  /aws/lambda/myLambdaFunction
END RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a
REPORT RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a	Duration: 20.67 ms	Billed Duration: 21 ms	Memory Size: 128 MB	Max Memory Used: 66 MB	Init Duration: 163.87 ms

Request ID
5c012b0a-18f7-4805-b2f6-40912935034a

在此示例中,用户通过控制台的测试功能调用代码。这意味着您可以直接在控制台中查看函数的执行结果。在控制台外部调用函数时,需要使用CloudWatch Logs。

在CloudWatch Logs中查看函数的调用记录

1、打开CloudWatch控制台的Log groups page(日志组页面)。

2、选择函数(/aws/lambda/myLambdaFunction)的日志组。这是函数输出到控制台的日志组名称。

3、在日志流选项卡上,选择函数调用的日志流。用户应该可以看到类似于如下所示的输出内容:

INIT_START Runtime Version: nodejs:20.v13    Runtime Version ARN: arn:aws:lambda:us-west-2::runtime:e3aaabf6b92ef8755eaae2f4bfdcb7eb8c4536a5e044900570a42bdba7b869d9
START RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 Version: $LATEST
2023-08-23T22:04:15.809Z    5c012b0a-18f7-4805-b2f6-40912935034a  INFO	The area is 42
2023-08-23T22:04:15.810Z    aba6c0fc-cf99-49d7-a77d-26d805dacd20  INFO  CloudWatch log group:  /aws/lambda/myLambdaFunction
END RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20
REPORT RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20    Duration: 17.77 ms    Billed Duration: 18 ms    Memory Size: 128 MB    Max Memory Used: 67 MB    Init Duration: 178.85 ms    

四、清理AWS Lambda示例函数

删除AWS Lambda函数

1、打开Lamba控制台的函数页面。

2、选择函数。

3、依次选择操作>删除。

4、在删除函数对话框中,输入删除,然后选择删除。

删除日志组

1、打开CloudWatch控制台的日志组页面。

2、选择函数的日志组。

3、依次选择操作>删除日志组。

4、在删除日志组对话框中,选择删除。

删除执行角色

1、打开Amazon Identity and Access Management(IAM)控制台的角色页面。

2、选择函数的执行角色(例如myLambdaFunction-role-31exxmpl)。

3、选择删除。

4、在删除角色对话框中,输入角色名称,然后选择删除。

使用教程

如何创建Amazon CloudFront?

2024-8-9 14:05:43

使用教程

亚马逊Amazon Chime应用程序及基本功能设置流程

2024-8-21 9:55:52

相关推荐