亚马逊网络服务 - 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。

亚马逊网络服务

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

拉姆达

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

配置功能

Lambda 函数处理程序

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

步骤 6 - 单击“创建函数”按钮。

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

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

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

亚马逊动态数据库

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

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

步骤 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”空间) 512MB
文件描述符的数量 1,024
进程和线程数(合计) 1,024
每个请求的最大执行持续时间 300秒
调用请求正文有效负载大小 6MB
调用响应主体有效负载大小 6MB

服务限制

下表显示了部署 Lambda 函数的服务限制列表。

物品 默认限制
Lambda 函数部署包大小(.zip/.jar 文件) 50MB
可压缩到部署包中的代码/依赖项的大小(未压缩的 zip/jar 大小) 250MB
每个区域可上传的所有部署包的总大小 1.5GB
每个账户的计划事件源类型的唯一事件源数量 50
您可以连接到每个计划事件的唯一 Lambda 函数的数量 5

有关最新更新的限制结构和更多信息,请访问 - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/