菜单
AWS Lambda
开发人员指南

什么是 AWS Lambda?

AWS Lambda 是一项计算服务,可使您无需预配置或管理服务器即可运行代码。AWS Lambda 只在需要时执行您的代码并自动缩放,从每天几个请求到每秒数千个请求。您只需按消耗的计算时间付费 – 代码未运行时不产生费用。借助 AWS Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且无需执行任何管理。AWS Lambda 在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预置和自动扩展、代码监控和记录。您只需要以 AWS Lambda 支持的一种语言 (目前为 Node.js、Java、C# 和 Python) 提供您的代码。

您可以使用 AWS Lambda 运行代码以响应事件,例如更改 Amazon S3 存储桶或 Amazon DynamoDB 表中的数据;以及使用 Amazon API Gateway 运行代码以响应 HTTP 请求;或者使用通过 AWS SDK 完成的 API 调用来调用您的代码。借助这些功能,您可以使用 Lambda 轻松地为 Amazon S3 和 Amazon DynamoDB 等 AWS 服务构建数据处理触发程序;处理 Kinesis 中存储的流数据,或创建您自己的按 AWS 规模、性能和安全性运行的后端。

您也可以构建由事件触发的函数组成的无服务器应用程序,并使用 AWS CodePipeline 和 AWS CodeBuild 自动部署这些应用程序。有关更多信息,请参阅 部署基于 Lambda 的应用程序

有关 AWS Lambda 执行环境的更多信息,请参阅 Lambda 执行环境和可用库。有关 AWS Lambda 如何确定执行您的代码所需的计算资源的信息,请参阅计算需求 - Lambda 函数配置

应在何时使用 AWS Lambda?

AWS Lambda 是很多应用程序场景的理想计算平台,只要您可以用 AWS Lambda 支持的语言 (即,Node.js、Java、C# 和 Python) 编写应用程序代码,并在 AWS Lambda 标准运行时环境和 Lambda 提供的资源中运行。

在使用 AWS Lambda 时,您只需负责自己的代码。AWS Lambda 管理提供内存、CPU、网络和其他资源均衡的计算机群。这是以灵活性为代价的,这意味着您不能登录计算实例,或自定义操作系统或语言运行时。通过这些约束,AWS Lambda 可以代表您执行操作和管理活动,包括预置容量、监控机群运行状况、应用安全补丁、部署您的代码以及监控和记录您的 Lambda 函数日志。

如果您需要管理自己的计算资源,Amazon Web Services 还提供了其他计算服务以满足您的需求。

  • Amazon Elastic Compute Cloud (Amazon EC2) 服务提供灵活性和各种 EC2 实例类型供您选择。它允许您选择自定义操作系统、网络和安全性设置以及整个软件堆栈,但您负责预置容量、监控机群运行状况和性能以及使用可用区来实现容错。

  • Elastic Beanstalk 提供易用的服务,您可将应用程序部署和扩展到 Amazon EC2 上,在其中您保留对底层 EC2 实例的所有权和完整控制权。

您是 AWS Lambda 的新用户吗?

如果您是首次接触 AWS Lambda 的用户,我们建议您按顺序阅读以下内容:

  1. 阅读产品概述并观看宣传视频,以了解示例使用案例。这些资源可在 AWS Lambda 网页上找到。

    阅读本指南中的“工作原理”部分。本部分介绍了您可以用来打造端到端体验的各种 AWS Lambda 组件。有关更多信息,请参阅 如何使用

  2. 查看指南中的”Lambda 函数“部分。 要了解 Lambda 函数的编程模型和部署选项,您应该熟悉几个核心概念。本节介绍了这些概念,并提供了有关这些概念在可用于编写 Lambda 函数代码的各种语言中的工作方式的详细信息。有关更多信息,请参阅 Lambda 函数

  3. 尝试基于控制台的入门练习。此练习提供了使用控制台创建和测试您的第一个 Lambda 函数的说明。您还可以了解控制台提供的蓝图以快速创建您的 Lambda 函数。有关更多信息,请参阅 入门

  4. 阅读本指南的”使用 AWS Lambda 构建应用程序“部分。本部分介绍了您可以用来打造端到端体验的各种 AWS Lambda 组件。有关更多信息,请参阅 使用 AWS Lambda 构建应用程序

除了入门练习之外,您还可浏览各种使用案例,每个使用案例都随附有指导您完成示例方案的教程。根据您的应用程序需求(例如,无论您需要事件驱动型 Lambda 函数调用还是按需调用),您可按照满足您特定需求的特定教程进行操作。有关更多信息,请参阅 使用案例

以下主题提供了有关 AWS Lambda 的更多信息: