问:什么是 AWS Lambda?

AWS Lambda 让您无需预置或管理服务器即可运行代码。您只需按消耗的计算时间付费 – 代码未运行时不产生费用。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且全部都无需管理。只需上传您的代码,Lambda 就会处理运行和扩展高可用性代码所需的一切工作。您可以将您的代码设置为自动从其他 AWS 产品触发,或者直接从任何 Web 或移动应用程序调用。

问:什么是无服务器计算?

无服务器计算让您可以在不考虑服务器的情况下构建并运行应用程序和服务。使用无服务器计算,您的应用程序仍在服务器上运行,但所有服务器管理工作均由 AWS 负责。无服务器计算的核心是 AWS Lambda,这项服务可使您无需预置或管理服务器即可运行代码。

问:哪些事件可以触发 AWS Lambda 函数?

有关事件源的完整列表,请参阅我们的文档

问:什么时候应该使用 AWS Lambda 与 Amazon EC2?

Amazon Web Services 提供一组计算服务以满足各种需求。

Amazon EC2 具有范围广泛的实例类型以及自定义操作系统、网络和安全设置以及整个软件堆栈的选项,可提供灵活性,从而使您能够轻松地将现有的应用程序迁移到云中。使用 Amazon EC2,您将负责预置容量、监控服务器队的运行状况和性能,并设计容错性和可扩展性。AWS Elastic Beanstalk 提供易用的服务,供您部署和扩展 Web 应用程序,您可以在其中保留对底层 EC2 实例的所有权和完整控制权。

AWS Lambda 可轻松执行代码以响应事件 (如 Amazon S3 存储桶的更改、Amazon DynamoDB 表的更新或应用程序或设备生成的自定义事件)。使用 Lambda,您不必预置自己的实例;Lambda 会代您执行所有的运行和管理活动,包括容量预置、监控服务器队运行状况、向底层计算资源应用安全补丁、部署代码、在前端运行 Web 服务以及监控和记录代码。AWS Lambda 为您的代码提供轻松的扩展和高可用性,无需您做额外努力。

问:什么类型的代码可在 AWS Lambda 上运行?

AWS Lambda 提供了一种简单的方式来完成云中的许多活动。例如,您可以使用 AWS Lambda 构建以下内容:可以检索并转换 Amazon DynamoDB 中数据的移动后端、当对象上传到 Amazon S3 以后对其进行压缩或转换的处理程序、用于任意 Amazon Web Service 的 API 调用的审核和报告功能,以及使用 Amazon Kinesis 进行的流数据无服务器处理。

问:AWS Lambda 支持哪些语言?

AWS Lambda 支持用 Node.js (JavaScript)、Python、Java (兼容 Java 8) 和 C# (.NET Core) 编写的代码。您的代码中可包含现有的库,甚至是本机库。有关使用 Node.jsPythonJavaC# 的信息,请参阅我们的文档。

问:我能否访问 AWS Lambda 运行所在的基础设施?

不能。AWS Lambda 会代您运行计算基础设施,从而执行运行状况检查、应用安全补丁和执行其他例行维护。

问:AWS Lambda 如何隔离代码?

每个 AWS Lambda 函数都运行在其自己的隔离环境中,有其自己的资源和文件系统视图。AWS Lambda 使用与 Amazon EC2 相同的技术在基础设施和执行级别上提供安全性和隔离。

问:AWS Lambda 如何保护代码?

AWS Lambda 在 Amazon S3 中存储代码并在静态下加密代码。AWS Lambda 在使用代码时执行额外的完整性检查。


问:AWS Lambda 函数是什么?

您在 AWS Lambda 上运行的代码以“Lambda 函数”上传。每个函数都有相关的配置信息,如其名称、描述、入口点和资源要求。代码必须以“无状态”样式编写,即应假设与底层计算基础设施无密切关系。本地文件系统访问、子过程和类似的项目可能不会超出请求的生命周期,且任何持续状态都应存储在 Amazon S3、Amazon DynamoDB 或另一个可用 Internet 的存储服务中。Lambda 函数可包含库,甚至是本机库。

问:AWS Lambda 是否会再使用函数实例?

为了提高性能,AWS Lambda 会选择保留您的函数实例,将其再用于服务后续请求,而不是创建一个新副本。您的代码不应假设此操作始终执行。

问:如果我需要为 AWS Lambda 函数在磁盘上留下暂存空间会发生什么?

每个 Lambda 函数都会在其自己的 /tmp 目录中接收到 500MB 的非持久性磁盘空间。

问:AWS Lambda 函数为什么必须是无状态的?

保持函数的无状态性可使 AWS Lambda 在需要时快速启动任意数量的函数,根据传入事件的速率进行扩展。虽然 AWS Lambda 的编程模式是无状态的,但是您的代码可以通过调用其他 Web 服务 (如 Amazon S3 或 Amazon DynamoDB) 来访问有状态的数据。

问:我能否在我的 AWS Lambda 函数代码中使用线程和进程?

可以。AWS Lambda 可使您使用正常的语言和操作系统功能,如创建额外的线程和进程。分配至 Lambda 函数的资源 (包括内存、执行时间、磁盘和网络使用) 都必须在其使用的所有线程/进程之间共享。您可以使用任意 Amazon Linux 支持的语言启动进程。

问:哪些限制适用于 AWS Lambda 函数代码?

Lambda 尝试尽可能不对正常的语言和操作系统活动施加限制,但有些活动仍被禁用:入站网络连接被 AWS Lambda 阻止;对于出站连接,只支持 TCP/IP 套接字;ptrace (调试) 系统调用受到限制。TCP 端口 25 流量同样受到阻止,这是一项反垃圾邮件措施。

问:如何使用 Lambda 控制台创建 AWS Lambda 函数?

如果您使用 Node.js 或 Python,则可以使用 AWS Lambda 控制台中的内联编辑器编写您的函数代码。前往控制台以开始。您也可以将代码 (以及任何依赖库) 打包为 ZIP 并使用 AWS Lambda 控制台从您的本地环境上传或指定 ZIP 文件所在的 Amazon S3 位置。上传的内容必须不超过 50MB (压缩后)。您可以使用 AWS Eclipse 插件来编写和部署 Java 中的 Lambda 函数。您可以使用 Visual Studio 插件来创建和部署 C# 和 Node.js. 中的 Lambda 函数。

问:如何使用 Lambda CLI 创建 AWS Lambda 函数?

您可以将代码 (以及任何依赖库) 打包为 ZIP 并使用 AWS CLI 从您的本地环境上传或指定 ZIP 文件所在的 Amazon S3 位置。上传的内容必须不超过 50MB (压缩后)。 请访问 Lambda 入门指南以开始。

问:如何管理我的 AWS Lambda 函数?

您可以使用 AWS Lambda 控制台中的控制面板轻松列出、删除、更新和监控您的 Lambda 函数。您还可以使用 AWS CLI 和 AWS 软件开发工具包来管理您的 Lambda 函数。请访问 Lambda 开发人员指南了解更多信息。

问:如何监控 AWS Lambda 函数?

AWS Lambda 会代您自动监控 Lambda 函数,从而通过 Amazon CloudWatch 实时报告指标 (包括请求总数、延迟、出错率和节流请求)。通过 Amazon CloudWatch 控制台或 AWS Lambda 控制台,您可以查看每一个 Lambda 函数的统计信息。您还可以在 Lambda 函数中调用第三方监控 API。请访问故障排除 CloudWatch 指标了解更多信息。使用 Lambda 的内建指标会依照 AWS Lambda 的标准费率计费。

问:如何对 AWS Lambda 函数中的故障进行故障排除?

AWS Lambda 与 Amazon CloudWatch 日志自动集成,为每个 Lambda 函数创建一个日志组,并提供基本的应用程序生命周期事件日志条目 (包括记录该函数每次使用时所消耗的资源)。您可以轻松将额外的日志语句插入到代码中。您还可以在 Lambda 函数中调用第三方记录 API。请访问故障排除 Lambda 函数了解更多信息。将按照 Amazon CloudWatch 日志费率计费。

问:如何扩展 AWS Lambda 函数?

您无需扩展 Lambda 函数,AWS Lambda 会代您自动扩展它们。每当接收到您的函数的事件通知时,AWS Lambda 会在其计算舰队中快速定位空闲容量并运行代码。由于您的代码是无状态的,AWS Lambda 可以在需要时尽可能多地启动实例副本,而不会发生冗长的部署和配置延迟。函数的扩展方面没有基本限制。AWS Lambda 将动态分配容量以匹配传入事件的速率。

问:如何将计算资源分配至 AWS Lambda 函数?

在 AWS Lambda 资源模型中,您可以选择您想为函数分配的内存量,并按 CPU 功率和其他资源的比例进行分配。例如,选择 256MB 的内存分配至您的 Lambda 函数的 CPU 功率约是请求 128MB 内存的两倍,若选择 512MB 的内存,其分配的 CPU 功率约是一半。您可以在 128MB 到 1.5GB 的范围间以 64MB 的增量设置您的内存。

问:执行 AWS Lambda 函数需要多长时间?

对 AWS Lambda 进行的同步调用必须在 300 秒钟内执行完毕。默认的超时为 3 秒,但您可以将超时设置为 1 到 300 秒之间的任何值。

问:AWS Lambda 是否支持版本控制?

是。默认情况下,每个 AWS Lambda 函数拥有单一的当前版本的代码。 Lambda 函数客户端可调用特定的版本或获取最新的实现。请参阅有关 Lambda 函数版本控制的文档。

问:上传我的代码后,AWS Lambda 函数需要准备多久才能调用?

部署时间根据代码大小有所差异,但 AWS Lambda 函数一般在上传后几秒钟内就能做好调用准备。

问:我能否使用自己的受支持的库版本?

可以。您可以在其中包含自己的代码库副本 (包括 AWS 软件开发工具包),以便使用除 AWS Lambda 提供的默认版本之外的版本。


问:什么是事件源?

事件源是 AWS 产品或开发人员创建的应用程序,用于生成可触发 AWS Lambda 函数使其运行的事件。有些服务通过直接调用云函数 (例如 Amazon S3) 向 Lambda 发布这些事件。Lambda 也可以在未向 Lambda 发布事件的其他服务中轮询资源。例如,Lambda 可以从 Kinesis 流中拉取记录并为流中的每条消息执行 Lambda 函数。

通过登录到 Amazon S3 并使用 S3 存储桶通知,就可将其他很多服务 (例如 AWS CloudTrail) 简单地用作触发 AWS Lambda 函数的事件源。

问:哪些事件源可用于 AWS Lambda?

有关事件源的完整列表,请参阅我们的文档

问:如何在 AWS Lambda 中表示事件?

事件作为事件输入参数的形式传输到 Lambda 函数中。对于事件以批量方式到达的事件来源 (例如 Amazon Kinesis 和 Amazon DynamoDB Streams),事件参数可以在一个调用中包含多个事件,具体取决于请求的批量大小。关于 Amazon S3 事件通知的更多信息,请访问配置 Amazon S3 事件通知。关于 Amazon DynamoDB Streams 的更多信息,请访问 DynamoDB Stream 开发人员指南。关于使用 Amazon SNS 调用 Lambda 函数的更多信息,请访问 Amazon SNS 开发人员指南。关于 AWS CloudTrail 日志和跨 AWS 服务审核 API 调用的更多信息,请参见 AWS CloudTrail

问:问:如何使 AWS Lambda 函数响应 Amazon S3 存储桶中的更改?

您可以从 AWS Lambda 控制台中选择一个函数并将其与 Amazon S3 存储桶中的通知相关联。或者,您可以使用 Amazon S3 控制台并配置存储桶的通知以发送到 AWS Lambda 函数。还可通过 AWS 软件开发工具包和 CLI 实现这一功能。

问:如何使 AWS Lambda 函数响应 Amazon DynamoDB 表中的更新?

通过将 Lambda 函数订阅到与 DynamoDB 表相关联的 DynamoDB Stream,您可以在 DynamoDB 表更新上触发 Lambda 函数。您可以使用 Amazon DynamoDB 控制台、AWS Lambda 控制台或 Lambda 的 registerEventSource API 将 DynamoDB Stream 与 Lambda 函数相关联。

问:如何使用 AWS Lambda 函数处理 Amazon Kinesis 流中的记录?

您可以从 AWS Lambda 控制台中选择一个 Lambda 函数并将其与属于相同账户的 Amazon Kinesis 流相关联。还可通过 AWS 软件开发工具包和 CLI 实现这一功能。 

问题:AWS Lambda 如何处理来自 Amazon Kinesis Streams 和 Amazon DynamoDB Streams 的数据?

发送到您的 AWS Lambda 函数的 Amazon Kinesis 和 DynamoDB Streams 记录将根据分片进行严格序列化。这意味着,如果您将两个记录放在同一个分片中,则 Lambda 保证将首先通过第一条记录来调用 Lambda 函数,然后再通过第二条记录来调用 Lambda 函数。如果第一条记录的调用超时,或者遇到任何其他错误,则 Lambda 将重试直至其成功 (或者记录达到其 24 小时过期时间),然后才会对下一条记录采取操作。无法保证不同分片之间记录的排序,并且每个分片的处理是平行进行的。

问:如何使用 AWS Lambda 函数响应 Amazon Simple Notification Service (SNS) 发出的通知?

您可以从 AWS Lambda 控制台中选择一个 Lambda 函数并将其与 Amazon SNS 主题相关联。还可通过 AWS 软件开发工具包和 CLI 实现这一功能。

问:如何使用 AWS Lambda 函数响应 Amazon CloudWatch 警报?

首先应配置警报,使其发送 Amazon SNS 通知。然后从 AWS Lambda 控制台中选择一个 Lambda 函数并将其与 Amazon SNS 主题相关联。请参阅 Amazon CloudWatch 开发人员指南了解设置 Amazon CloudWatch 警报的更多信息。

问:应用程序如何直接触发 AWS Lambda 函数?

您可以通过 AWS Lambda 的调用 API 使用自定义事件调用 Lambda 函数。只有该函数的所有者或获得该所有者授权的其他 AWS 账户才能调用该函数。请访问 Lambda 开发人员指南了解更多信息。

问:什么是调用 AWS Lambda 函数响应事件的延迟?

AWS Lambda 可以在若干毫秒内处理事件。当 Lambda 函数创建、更新后,或如果它最近未被使用,延迟时间都将立即升高。

问:如何通过 HTTPS 调用 AWS Lambda 函数?

通过使用 Amazon API Gateway 定义自定义的 RESTful API,您可以通过 HTTPS 调用 Lambda 函数。这为您的函数提供了终端节点,这些函数可以响应 REST 调用 (如 GET、PUT 和 POST)。请参阅有关通过 Amazon API Gateway 使用 AWS Lambda 的更多信息。

问:AWS Lambda 函数如何根据发起请求的设备和应用程序对其行为进行自定义?

当通过 AWS 移动软件开发工具包进行调用时,AWS Lambda 函数能自动通过“context”对象获得发起调用的设备和应用程序的深入见解。

问:如果我的函数在处理事件时发生故障会发生什么?

对于 Amazon S3 存储桶通知和自定义事件,AWS Lambda 会在您的代码发生错误条件或您超出服务或资源限制时尝试执行函数三次。对于 AWS Lambda 代您轮询的有序事件源 (如 Amazon DynamoDB Streams 和 Amazon Kinesis Streams),Lambda 会在发生开发人员代码错误时继续尝试执行,直到该数据过期为止。您可以通过 Amazon Kinesis 和 Amazon DynamoDB 控制台以及 AWS Lambda 为您的函数生成的 Amazon CloudWatch 指标监控进程。您还可以根据出错率或执行节流的频率来设置 Amazon CloudWatch 警报。


问:什么是无服务器应用程序?
基于 Lambda 的应用程序 (也被称作无服务器应用程序) 由通过事件触发的函数组成。典型的无服务器应用程序包含一个或多个通过事件 (如向 Amazon S3 上传对象、Amazon SNS 通知或 API 操作) 触发的函数。这些函数既可独立运行,也能利用其他资源 (如 DynamoDB 表或 Amazon S3 存储桶)。最基本的无服务器应用程序仅包含一个函数。

问:如何部署和管理无服务器应用程序?
您可以使用 AWS 无服务器应用程序模型 (AWS SAM) 部署和管理无服务器应用程序。AWS SAM 是一项规范,其中规定了在 AWS 上表达无服务器应用程序的规则。该规范当前与 AWS CloudFormation 使用的语法相同,因此本身在 AWS CloudFormation 中作为一组资源类型 (被称作“无服务器资源”) 就受支持。得力于这些资源,AWS 客户能够更轻松地使用 CloudFormation,通过现有的 CloudFormation API 配置和部署无服务器应用程序。 

问:如何开始构建无服务器应用程序?
首先,请访问 AWS Lambda 控制台,并下载我们的蓝图之一。您下载的文件将包含一份 AWS SAM 文件 (定义了您应用程序中的 AWS 资源) 和一份 .ZIP 文件 (包含您函数的代码)。然后,您可以使用 AWS CloudFormation 命令打包和部署您刚下载的无服务器应用程序。有关更多详细信息,请访问我们的文档

问:AWS SAM 如何获得许可证?
该规范在 Apache 2.0 下是开源性质的,允许您及他人采用构建、部署、监控和管理工具以及通过商业版许可证将 AWS SAM 融合到这些工具中。您可以在此处访问 GitHub 上的 AWS SAM 存储库。


问:AWS Lambda 函数的可用性如何?

AWS Lambda 旨在通过复制和冗余来向服务本身和其操作的 Lambda 函数提供高可用性。二者皆无维护窗口期或计划停机时间。

问:当我更改代码或配置时,AWS Lambda 函数还可以使用吗?

可以。当您更新 Lambda 函数时,会有短暂的窗口期,通常不到 1 分钟,在这期间请求将由旧版本函数或新版本函数实现。

问:对于一次可以执行的 AWS Lambda 函数的数量有没有限制?

没有。AWS Lambda 旨在支持大量函数实例并列运行。但是,AWS Lambda 对每个地区的每个账户的并发执行次数具有默认安全限制 (请访问此处了解默认安全限制数量的信息)。如果您想申请提高限制数量,请访问我们的支持中心,单击“Open a new case”,然后发出服务限制提升请求。

问:如果账户超出并发执行的默认限制数量会怎样?

如果超出限制,同步调用的 AWS Lambda 函数会返回一条节流错误信息 (429 错误代码)。异步调用的 Lambda 函数可以承受一定范围内的流量突增大约 15 到 30 分钟,之后再进来的事件将会以节流为理由遭到拒绝。如果调用的 Lambda 函数是用于响应 Amazon S3 事件,则被 AWS Lambda 拒绝的事件可能被 S3 保留 24 小时并在此期间反复重试。Amazon Kinesis Streams 和 Amazon DynamoDB Streams 中的事件会反复重试,直到 Lambda 函数成功或数据过期。Amazon Kinesis 和 Amazon DynamoDB Streams 会保留数据 24 小时。

问:默认的数量限制是否在个别函数级别应用?

不是,默认的数量限制只在账户级别应用。

问:如果 Lambda 函数在处理事件时发生故障会怎样?
如遇故障,进行同步调用的 Lambda 函数会返回异常信息。异步调用的 Lambda 函数将至少重试 3 次。Amazon Kinesis Streams 和 Amazon DynamoDB Streams 中的事件会反复重试,直到 Lambda 函数成功或数据过期。Kinesis Streams 和 DynamoDB Streams 会至少保留数据 24 个小时。

问:如果 Lambda 函数调用用尽了策略规定的次数,会怎样?
当超过策略针对异步调用规定的重试次数时,您可以配置一个放置此事件的“死信队列”(DLQ);如果尚未配置 DLQ,此事件可能会被拒绝。当超过策略针对基于流的调用规定的重试次数时,数据可能已失效,因此已被拒绝。

问:我可以将哪些资源配置为 Lambda 函数的死信队列?
您可以将 Amazon SQS 队列或 Amazon SNS 主题配置为您的死信队列。


问:如何允许 AWS Lambda 函数访问其他 AWS 资源?
您可以使用 IAM 角色授予 Lambda 函数相应的权限,以访问其他资源。AWS Lambda 在执行您的 Lambda 函数的同时承担该角色,因此您可以对该服务可使用的 AWS 资源保持完整、安全的控制。请访问设置 AWS Lambda 了解有关角色的更多信息。

问:如何控制哪些 Amazon S3 存储桶可以调用哪些 AWS Lambda 函数?
当您配置 Amazon S3 存储桶向 AWS Lambda 函数发送消息时,将创建一条资源政策规则用于权限授予。请访问 Lambda 开发人员指南了解 Lambda 函数的资源政策和访问控制的详细情况。

问:如何控制 AWS Lambda 函数可以轮询的 Amazon DynamoDB 表或 Amazon Kinesis 流?
对访问控制的管理通过 Lambda 函数的角色实现。分配给 Lambda 函数的角色同时决定了 AWS Lambda 可以代表其进行轮询的资源。请访问 Lambda 开发人员指南了解更多信息。

问:我是否可以使用 AWS Lambda 函数访问 Amazon VPC 后端的资源?
可以。您可以访问 Amazon VPC 后端的资源。

问:如何启用和禁用针对 Lambda 函数的 VPC 支持?
要启用 VPC 支持,您需要在单个 VPC 中指定一个或多个子网,并在配置函数时指定安全组。要禁用 VPC 支持,您需要更新函数配置并为子网和安全组指定空列表。您可以使用 AWS API、CLI 或 AWS Lambda 管理控制台更改这些设置。

问:一个 Lambda 函数是否可以访问多个 VPC?
不可以。Lambda 函数只能访问一个 VPC。如果指定多个子网,则所有子网都必须位于同一个 VPC 中。您可以通过在 VPC 之间建立对等连接来连接到其他 VPC。

问:一个 VPC 中的 Lambda 函数是否还能够访问 Internet 和 AWS 产品终端节点?
在默认配置下,配置为可访问特定 VPC 中资源的 Lambda 函数将无法访问 Internet。如果您需要访问外部终端节点,则需要在 VPC 中创建 NAT,以转发相应流量并将安全组配置为允许这些出站流量。


问:我如何使用 Java 代码编译我的 AWS Lambda 函数?
您可以使用 Maven 或 Gradle 等标准工具编译 Lambda 函数。您的构建过程应模拟编译任何 Java 代码的同一构建过程,这取决于 AWS SDK。在源文件上运行您的 Java 编译器工具并在类路径上包含 AWS SDK 1.9 或更高版本,以延续依赖性。有关详细信息,请参阅我们的文档

问:用于执行函数的 JVM 环境 Lambda 是什么?
Lambda 提供 openjdk 1.8 的 Amazon Linux 版本。


问:能否将资源包与 AWS Lambda 配合使用?
可以。您可以使用 NPM 资源包和自定义的资源包。

问:我能否使用以 Node.js 编写的 AWS Lambda 函数执行其他程序?

可以。Lambda 的内建沙盒可以让您运行批处理 (“shell”) 脚本、其他语言运行时、实用程序例程和可执行文件。 

问:是否可以使用带有以 Node.js 编写的 AWS Lambda 函数的本地模块?
可以。您上传的 ZIP 文件可以包含任何静态连接的本机模块,动态连接的模块同样如此,动态模块用指向您的 Lambda 函数根目录的根路径编译。

问:我能否使用以 Node.js 编写的 AWS Lambda 执行二进制?
可以。您可以使用 Node.js 的 child_process 命令来执行您在函数中包含的二进制文件或任何向函数开放的 Amazon Linux 中的可执行文件。另外,还有多个打包命令行二进制代码的 NPM 资源包,如 node-ffmpeg。

问:如何部署以 Node.js 编写的 AWS Lambda 函数代码?
要部署以 Node.js 编写的 Lambda 函数,仅需将您的 Javascript 代码和依赖库封装为 ZIP 包。您可以从您的本地环境上传 ZIP 包,或指定 ZIP 文件所在的 Amazon S3 位置。有关详细信息,请参阅我们的文档


问:能否将 Python 程序包与 AWS Lambda 配合使用?

可以。您可以使用 pip 安装所需的任意 Python 程序包。


问:如何使用 C# 打包和部署 AWS Lambda 函数?
您可以使用 Visual Studio IDE 通过在“Solution Explorer”中选择“Publish to AWS Lambda”来创建 C# Lambda 函数。或者,您还可以在安装 [# Lambda CLI 工具补丁] 的 dotnet CLI 上直接运行“dotnet lambda publish”命令,这将会创建 C# 源代码的 ZIP、所有的 NuGet 依赖项以及您自己发布的 DLL 程序集,并使用运行时参数“dotnetcore1.0”自动将其上传到 AWS Lambda。


问:AWS Lambda 支持哪些版本的 Amazon Linux、Node.js、Python、JDK、.NET Core、SDK 及其他库?
您可以查看此处的受支持的版本列表。

问:我能否更改 Amazon Linux 或任何语言运行时的版本?
不能。AWS Lambda 向该服务的所有用户提供单一版本的操作系统和语言运行时。

问:如何记录和审核对 AWS Lambda API 进行的调用?
AWS Lambda 与 AWS CloudTrail 集成。AWS CloudTrail 可以记录日志文件并将其提供给 Amazon S3 存储桶,用于说明账户的 API 使用情况。


使用本服务需遵守 AWS 客户协议