Amazon Web Services - Lambda

AWS Lambda 是一种响应式云服务,可检查应用程序内的操作并通过部署用户定义的代码(称为函数)做出响应。它会自动管理跨多个可用区域的计算资源,并在触发新操作时对其进行扩展。

AWS Lambda 支持用 Java、Python 和 Node.js 编写的代码,并且该服务可以使用 Amazon Linux 支持的语言(包括 Bash、Go 和 Ruby)启动进程。

以下是使用 AWS Lambda 时的一些建议提示。

  • 以无状态样式编写 Lambda 函数代码。

  • 切勿在处理程序范围之外声明任何函数变量。

  • 确保在上传的 ZIP 中的文件上具有一组 +rx 权限,以确保 Lambda 可以代表您执行代码。

  • 不再需要时删除旧的 Lambda 函数。

如何配置 AWS Lambda?

关注按照这些步骤首次配置 AWS Lambda。

步骤 1 − 登录 AWS 账户。

步骤 2 − 从 AWS 服务部分选择 Lambda。

Amazon Web Services

步骤 3 − 选择蓝图(可选)并单击跳过按钮。

Lambda

步骤 4 − 提供创建 Lambda 函数 所需的详细信息(如以下屏幕截图所示),并粘贴 Node.js 代码,该代码将在 DynamoDB 中添加新项目时自动触发。选择所有必需的权限。

配置函数

Lambda 函数处理程序

步骤 5 − 单击下一步按钮并验证您的详细信息。

步骤 6 − 单击创建函数按钮。

现在,当我们选择 Lambda 服务并选择事件源选项卡时,将没有任何记录。至少向 Lambda 函数添​​加一个源才能正常工作。在这里,我们向其中添加 DynamoDB 表。

我们已经使用 DynamoDB 创建了一个表(我们将在 DynamoDB 章节中详细讨论这一点)。

步骤 7 − 选择流选项卡并将其与 Lambda 函数关联。

Amazon DynamoDB

您将在 Lambda 服务页面的事件源选项卡中看到此条目。

步骤 8 − 在表中添加一些条目。添加并保存条目后,Lambda 服务应触发该函数。可以使用 Lambda 日志进行验证。

步骤 9 − 要查看日志,请选择 Lambda 服务并单击监控选项卡。然后单击 CloudWatch 中的"查看日志"。

Monitoring

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.5 GB
每个账户的计划事件源类型的唯一事件源数量 50
您可以连接到每个计划事件的唯一 Lambda 函数的数量 5

如需了解最新更新的限制结构和更多信息,请访问 − https://docs.aws.amazon.com/lambda/latest/dg/limits.html/