AWS - Lambda
-
简述
AWS Lambda 是一种响应式云服务,它检查应用程序中的操作并通过部署用户定义的代码(称为functions. 它自动管理跨多个可用区的计算资源,并在触发新操作时对其进行扩展。AWS Lambda 支持用 Java、Python 和 Node.js 编写的代码,并且该服务可以使用 Amazon Linux 支持的语言(包括 Bash、Go 和 Ruby)启动进程。以下是使用 AWS Lambda 时的一些推荐技巧。-
以无状态风格编写您的 Lambda 函数代码。
-
切勿在处理程序范围之外声明任何函数变量。
-
确保有一组 +rxpermissions在您上传的 ZIP 中的文件上,以确保 Lambda 可以代表您执行代码。
-
不再需要时删除旧的 Lambda 函数。
-
-
如何配置 AWS Lambda?
请按照以下步骤首次配置 AWS Lambda。Step 1− 登录 AWS 账户。Step 2− 从 AWS 服务部分选择 Lambda。Step 3− 选择蓝图(可选)并单击跳过按钮。Step 4− 提供必要的详细信息以创建一个Lambda function如以下屏幕截图所示并粘贴将在 DynamoDB 中添加新项目时自动触发的 Node.js 代码。选择所有必需的权限。Step 5− 单击下一步按钮并验证您的详细信息。Step 6− 单击创建函数按钮。现在,当我们选择 Lambda 服务并选择 Event Sources 选项卡时,将没有记录。将至少一个源添加到 Lambda 函数以使其工作。在这里,我们向其中添加 DynamoDB 表。我们已经使用 DynamoDB 创建了一个表(我们将在 DynamoDB 章节中详细讨论)。Step 7− 选择流选项卡并将其与 Lambda 函数关联。您将在 Lambda 服务页面的事件源选项卡中看到此条目。Step 8− 在表中添加一些条目。添加并保存条目后,Lambda 服务应触发该函数。可以使用 Lambda 日志对其进行验证。Step 9− 要查看日志,请选择 Lambda 服务并单击监控选项卡。然后单击在 CloudWatch 中查看日志。 -
AWS Lambda 的优势
以下是使用 Lambda 任务的一些好处 --
Lambda 任务不需要像 Amazon SWF 活动类型那样注册。
-
我们可以使用您已经在工作流程中定义的任何现有 Lambda 函数。
-
Lambda 函数由 Amazon SWF 直接调用;无需设计程序来实现和执行它们。
-
Lambda 为我们提供了用于跟踪函数执行的指标和日志。
-
-
AWS Lambda 限制
以下是 Lambda 限制的三种类型。油门限制
限制为每个账户 100 个并发 Lambda 函数执行,并应用于同一区域内所有函数的总并发执行。计算函数并发执行次数的公式 =(函数执行的平均持续时间)X(AWS Lambda 处理的请求或事件数)。当达到节流限制时,它会返回一个节流错误,错误代码为 429。15-30 分钟后,您可以再次开始工作。可以通过联系 AWS 支持中心来增加限制。资源限制
下表显示了 Lambda 函数的资源限制列表。资源 默认限制 临时磁盘容量(“/tmp”空间) 512 MB 文件描述符的数量 1,024 进程数和线程数(合计) 1,024 每个请求的最长执行时间 300 秒 调用请求正文有效负载大小 6 MB 调用响应体有效载荷大小 6 MB 服务限制
下表显示了部署 Lambda 函数的服务限制列表。物品 默认限制 Lambda 函数部署包大小(.zip/.jar 文件) 50 MB 您可以压缩到部署包中的代码/依赖项的大小(未压缩的 zip/jar 大小) 250 MB 每个区域可以上传的所有部署包的总大小 1.5GB 每个账户的计划事件源类型的唯一事件源数 50 您可以连接到每个计划事件的唯一 Lambda 函数的数量 5 有关最新更新的限制结构和更多信息,请访问 - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/