AWS Lambda是亚马逊云科技推出的无服务器计算服务,可以已通过事件触发运行代码,并按照实际消耗计费。好消息是,AWS Lambda现针对新用户推出每月1百万次请求的免费计划,本文将手把手教大家如何利用这个免费计划创建Hello World这样的Lambda函数,并使用示例事件数据手动调用Lambda函数并查看输出指标。
关于AWS Lambda免费计划:
AWS Lambda免费计划包括每月100万次免费请求和400000 GB秒的计算时间,可用于由x86、Graviton2处理器或两者整合提供支持的函数。 此外,免费套餐包括每月 100GiB的 HTTP响应流,不包括每个请求的前6MB(免费)。立即注册亚马逊云科技免费使用AWS Lambda>>>
账号注册指南:
为保证流程的完整性,建议使用最新版本的Chrome或Firefox浏览器。
一、访问AWS Lambda控制台
推荐阅读:《AWS Lambda用途介绍 AWS Lambda计费方式》
注册登录AWS后会进入到其控制台,在顶部搜索“Lambda”并打开服务。

AWS Lambda蓝图提供只需进行一些简单处理的示例代码。大部分蓝图都可处理来自特定事件源(如Amazon S3、Amazon DynamoDB或自定义应用程序)的事件。
1、在AWS Lambda控制台上,点击Create function (创建函数)。
注意:只有当未创建任何Lambda函数时,控制台才会显示此页面。若已创建函数,则会看到 Lambda > Functions(Lambda > 函数)页面。在列表页面上,选择Create a function(创建函数),进入Create function(创建函数)页面。

Lambda 函数由提供的代码、关联的依赖项与配置信息组成。提供的配置信息包括想要分配的计算资源(如内存)、执行超时时间以及AWS Lambda代表执行Lambda函数所担当的IAM角色。
Basic Information(基本信息):
- Name(名称):可以在这里为 Lambda 函数命名。在本教程中,我们将使用 hello-world-python;
- Role(角色):将创建一个 IAM 角色(称为执行角色),该角色具有必要的权限,从而让 AWS Lambda 可以代调用 Lambda 函数;
- Role name(角色名称):lambda_basic_execution;
- Lambda function code(Lambda 函数代码):
在这一部分,可以检查用 Python 编写的示例代码。
若要继续构建函数:
2、选择Use a blueprint(使用蓝图)。
3、在Blueprint name(蓝图名称)框中,确保选中使用python 3.10蓝图的Hello world函数。
4、在Fuction name(函数名称)框中,输入hello-world-python。
5、对于Execution role(执行角色),选择 Create a new role from AWS policy templates(基于 AWS 策略模板创建新角色)。
6、在Role name(角色名称)框中,输入lambda_basic_execution。
7、点击Create Function(创建函数)按钮。


函数创建后,检查AWS Lambda其他设置。
Runtime(运行时):目前,可以使用Java、Node.js、C#、Go或Python编写Lambda函数代码。在本教程中,我们使用Python 3.10作为运行时。
Handler(处理程序):可以指定AWS Lambda开始执行代码时使用哪种处理程序(代码中的方法/函数)。AWS Lambda提供事件数据作为此处理程序(用于处理事件)的输入。
在本例中,Lambda从示例代码中识别了处理程序,因此此选项被预先填充了lambda_function.lambda_handler。

AWS Lambda控制台显示hello-world-python Lambda函数,现在可以测试该函数、验证结果并检查日志。
1、从名为Test(测试)的下拉菜单中选择Configure test event(配置测试事件)。

2、此时会弹出编辑器,输入事件以测试函数。
- 选择Create new event(创建事件);
- 输入事件名称,例如HelloWorldEvent;
- 在Event sharing settings(事件共享设置)下,保留默认的Private(私有)选项;
- 从模板列表中选择hello-world;
- 可以更改示例JSON中的值,但不能更改事件结构。在本教程中,将value1替换为 “hello, world!”;
- 点击Create(创建)。

3、点击Test(测试)。

4、成功执行后,在控制台上查看结果:
- Execution results(执行结果)页签验证执行是否成功;
- Function Logs(函数日志)部分将会显示 Lambda 函数执行生成的日志以及日志输出中报告的关键信息。

AWS Lambda会通过Amazon CloudWatch自动监控Lambda函数并报告指标。为帮助在代码运行时监控代码,Lambda会自动跟踪请求数、每个请求的延迟时间和产生错误的请求数,并发布关联的指标。
1、通过反复点击 Test (测试)按钮多调用几次 Lambda 函数。这将生成指标并可在下一步中查看。

2、选择Monitor(监控)页签,查看结果。
3、向下滚动以查看Lambda函数指标。 Lambda指标通过Amazon CloudWatch进行报告。可以基于这些指标设置自定义警报。
Monitor(监控)页签将显示七个CloudWatch指标:Invocations(调用次数)、Duration(调用持续时间)、Error count and success rate (%)(调用错误次数和成功率)、Throttles(受限调用次数)、Async delivery failures(异步传输错误次数)、IteratorAge(迭代器年限)以及 Concurrent executions(并发执行次数)。
使用AWS Lambda需要根据使用量付费。达到AWS Lambda免费套餐的使用上限后,需要根据对函数的请求数量(调用次数)和代码执行时间(调用持续时间)付费。

AWS Lambda定价参考:

持续时间成本取决于为函数分配的内存量。可以以1MB为增量为函数分配介于128MB至10240 MB之间的任何内存量。下表包含一些与不同内存大小关联的每 1 毫秒价格示例,适用于属于第一个定价层的使用量,例如,美国东部(俄亥俄州)最高60亿GB秒/月。

AWS Lambda按需持续时间定价层适用于账户内,同一区域中采用相同架构(分别为x86 或Arm)所运行函数的每月累积持续时间。如果在AWS Organizations中使用整合计费,则定价层将适用于跨组织的所有账户,在相同区域,采用相同架构运行的函数的每月累计持续时间。
六、删除AWS Lambda函数这里分享删除AWS Lambda函数的步骤(虽然保留Lambda函数无需支付费用):
1、点击Actions(操作)按钮,然后选择Delete function(删除函数)。

2、系统会提示确认删除操作,点击Delete(删除)。

到这里就已创建好了第一个AWS Lambda函数,Lambda将通过运行代码来响应每个触发器,并基于工作负载的大小精确扩展,从而自动扩展应用程序。
相关推荐:
《亚马逊免费云服务器Amazon EC2 T4g/x86领取及配置教程》
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)
微信扫码加好友进群
主机优惠码及时掌握
QQ群号:938255063
主机优惠发布与交流




