探索 AWS Lambda 的基础知识及函数运行步骤
在当今构建应用程序的过程中,出色的用户体验是至关重要的。为了实现这一目标,您的应用程序后端需要代码来响应各种事件。
然而,管理托管和执行后端代码的基础设施,意味着您需要调整、配置、扩展服务器,管理操作系统更新,应用安全补丁,并且持续监控这些基础设施的性能和可用性。 这无疑是一项繁琐且耗时的任务。
想象一下,如果可以将精力集中在构建卓越的应用上,而无需担忧底层的基础设施,那将多么美妙!这正是 AWS Lambda 所提供的价值。
什么是 AWS Lambda?
AWS Lambda 是一种无服务器计算服务,它允许您运行代码,而无需操心服务器的配置或管理。您可以通过 AWS Lambda 以零管理的方式运行应用程序或后端服务。只需上传代码到 Lambda,它便会自动执行代码,并根据需求扩展基础设施,以保证高可用性。
在 AWS Lambda 上运行的代码被称为 Lambda 函数。目前,它支持以下编程语言:
- Java
- Python
- C#
- Node.js
- Go
- PowerShell
- Ruby
此外,它还提供了运行时 API,允许您运行使用其他原生编程语言编写的函数。
要使用 AWS Lambda,您只需满足一个先决条件:您需要在 AWS 上拥有一个帐户,以便能够访问 AWS 管理控制台。
您可以将 Lambda 视为 AWS 的 FaaS(函数即服务)解决方案。
AWS Lambda 的主要特性
以下是 AWS Lambda 提供的一些关键特性:
- AWS Lambda 可以轻松扩展基础设施,无需额外的配置,大大减少了运维工作。
- 它提供了多种事件触发选项,如 AWS S3、CloudWatch、DynamoDB、API 网关、Kinesis、CodeCommit 等。
- 您无需进行预先投资。您只需为 Lambda 函数实际使用的内存付费,并且请求成本很低,因此具有很高的成本效益。
- AWS Lambda 非常安全。它利用 AWS IAM 来定义所有角色和安全策略。
- 它为代码和函数的运行提供了容错能力,无需担心应用程序宕机。
AWS Lambda 的定价策略
AWS Lambda 的定价取决于函数执行的时间以及所使用的内存量。您最多可以为 Lambda 函数分配 3008 MB 的内存,以 64 MB 为增量单位。以下是一个关于内存和持续时间(100毫秒为单位)的定价表。
AWS Lambda 的工作原理
- 首先,您需要创建一个函数,并添加必要的基本信息,例如函数使用的编程语言。
- 接着,您可以在 Lambda 编辑器上直接编写代码,或以 ZIP 文件形式上传用支持的编程语言编写的代码。
- 上传代码后,AWS 服务将自动处理基础设施的扩展、修补和管理。
- 为了运行代码,您需要使用外部 AWS 服务来触发 Lambda 函数,例如 S3 存储桶。
- 在几秒钟内,Lambda 将准备就绪,以便在事件发生时自动触发函数。AWS Lambda 会在事件触发时运行您的代码。它负责配置、管理和监控服务器。
- 如果您的函数需要大量的处理能力,它会选择拥有更强处理能力和 RAM 的实例类型。如果您的 Lambda 代码只运行两秒,它将选择尽可能低的实例,从而节省您的资金和时间。
这就是 AWS Lambda 的基本工作原理。接下来,让我们通过一个示例来演示如何在 AWS Lambda 上创建一个简单的函数。
创建 AWS Lambda 函数
在本文中,我们将使用 Node.js 创建一个简单的掷骰子游戏。Lambda 函数将随机生成 1 到 6 之间的数字,并输出结果。
- 登录 AWS 管理控制台,在搜索栏中键入 “Lambda”,并单击 Lambda。
- 进入函数窗口,点击“创建函数”。
- 您将看到创建函数的不同选项,以及它们的说明。由于我们是从头开始创建,因此选择 “从头开始创作”。
- 接下来,您需要填写一些必要的信息。输入函数名称,并选择要使用的 Node.js 版本。
- 还需要选择执行角色。由于您的 AWS 账户中没有定义任何现有角色,请选择“创建新角色”选项。然后,点击“创建函数”。
- 您将收到一条成功创建的消息。点击“设计器”窗口将其最小化。
- 接下来是函数代码窗口。
- 将下面的代码粘贴到编辑器中。您也可以通过 ZIP 文件上传代码,但这里使用 AWS 提供的代码编辑器。
- 这是一段简单的代码,它会随机生成 1 到 6 之间的数字,并在调用函数时输出结果。
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out="Dice throw result is: " + randomNum;
return out;
};
- 现在点击右上角的“测试”按钮。您会看到一个弹出窗口,配置测试事件,输入事件名称,然后点击“配置”。
- 现在点击“保存”,然后点击“测试”。
在执行结果中,您可以看到我们刚刚编写的函数逻辑的输出,例如 “掷骰子结果为:2″。
- 向上滚动并单击“详细执行结果”,以获取此 Lambda 函数的完整摘要,以及预期输出,请求 ID,持续时间,计费持续时间,配置的资源等详细信息,以及日志输出。
- 单击“监控”选项卡,以可视化指定时间内的 CloudWatch 日志和 Lambda 函数性能。
- 如果您查看由 CloudWatch 创建的日志,您可以找到 Lambda 函数运行时发生的详细信息,这些信息是由 CloudWatch 监控的。
总结
开始使用 Lambda 非常简单。如果您的业务应用程序需要运行后端代码,不妨考虑 AWS Lambda 等无服务器平台。
您喜欢这篇文章吗?欢迎分享给更多人!