Lambda
AWS Lambda是一种响应式云服务,可检查应用程序中的操作,并通过部署用户定义的代码(称为functions响应。 它可以自动管理多个可用区域中的计算资源,并在触发新操作时对其进行扩展。
AWS Lambda支持使用Java,Python和Node.js编写的代码,该服务可以使用Amazon Linux支持的语言(包括Bash,Go和Ruby)启动流程。
以下是使用AWS Lambda时的一些建议提示。
以无状态样式编写Lambda函数代码。
永远不要在处理程序范围之外声明任何函数变量。
确保对上传的ZIP中的文件具有一组+ rx permissions ,以确保Lambda可以代表您执行代码。
不再需要时删除旧的Lambda函数。
如何配置AWS Lambda?
请按照以下步骤首次配置AWS Lambda。
Step 1 - 登录AWS账户。
Step 2 - 从AWS服务部分选择Lambda。
Step 3 - 选择蓝图(可选),然后单击“跳过”按钮。
Step 4 - 提供创建Lambda function所需的详细信息,如以下屏幕截图所示,并粘贴Node.js代码,每当在DynamoDB中添加新项目时,这些代码将自动触发。 选择所有必需的权限。
Step 5 - 单击“下一步”按钮并验证您的详细信息。
Step 6 - 单击“创建功能”按钮。
现在,当我们选择Lambda服务并选择Event Sources选项卡时,将没有记录。 将至少一个源添加到Lambda函数中。 在这里,我们将向其添加DynamoDB表。
我们使用DynamoDB创建了一个表(我们将在DynamoDB章节中详细讨论)。
Step 7 - 选择流选项卡并将其与Lambda函数关联。
您将在Lambda Service页面的Event Sources选项卡中看到此条目。
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.5 GB |
每个帐户的计划事件源类型的唯一事件源数 | 50 |
可以连接到每个计划事件的唯一Lambda函数的数量 | 5 |
有关最新更新的限制结构和更多信息,请访问 - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/