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 中添加新项目时自动触发。选择所有所需的权限。

Configure Function

Lambda Function Handler

步骤 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/

广告