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:从首页的服务部分中选择Lambda。
第3步:单击创建函数,然后为基本级别选择一个蓝图。蓝图只是可以直接使用的最常用案例的示例代码。
步骤4:对于基本级别,只需搜索一个名为hello-world-python的蓝图。选择它并填写必要的详细信息,通常只是名称。点击创建函数按钮,即可使用Lambda函数。
步骤5:创建的函数页面如下所示:
现在添加将运行该函数的触发点。触发器可以是AWS提供的任何其他服务,例如Alexa Skills Kit或DynamoDB或任何其他合作伙伴事件源。例如,向其中添加一个dynamo数据库表。现在,一旦在表上创建了新条目或修改或删除了现有条目,该函数就可以使用。
步骤6:要查看该函数上的日志,请从lambda页面中选择Monitoring(监视)选项卡。然后访问CloudWatch中的查看日志。
AWS- Lambda的优势:
- 无需注册lambda任务,例如Amazon SWF活动。
- 现有的Lambda函数可以在工作流中重用。
- Lambda函数由Amazon SWF直接调用,无需设计程序即可实现和执行它们。
- Lambda提供用于跟踪函数执行的指标和日志。
AWS- Lambda中的限制:Lambda限制有三种类型:
1.资源限制:
Resource |
Default Limit |
---|---|
Ephemeral disk capacity (“/tmp” space) | 512 MB |
Number of file descriptors | 1024 |
Number of processes and threads (combined total) | 1024 |
Maximum execution duration per request | 300 sec |
Invoke request body payload size | 6 MB |
Invoke response body payload size | 6 MB |
2.服务限制:
ITEM |
Default Limit |
---|---|
Lambda function deployment package size (.zip/.jar file) | 50 MB |
Size of code/dependencies that you can zip into a deployment package (uncompressed zip/jar size) | 250 MB |
Total size of all the deployment packages that can be uploaded per region | 1.5 GB |
Number of unique event sources of the Scheduled Event source type per account | 50 |
Number of unique Lambda functions you can connect to each Scheduled Event | 5 |
3.节流限制:节流限制是每个帐户100个并发Lambda函数执行,并应用于同一区域内所有函数的总并发执行。用于计算以下函数的并发执行次数的公式:
function = (average duration of the function execution)
X (number of requests or events processed by AWS Lambda)
当达到节气门极限时,它会返回一个节气门错误,错误代码为429 。 15-30分钟后,用户可以重新开始工作。可以通过联系AWS支持中心来增加油门限制。