AWS Lambda 部署 Python (Lambda Layer)

AWS Lambda支持Python的多个版本作为runtime

在Lambda上使用Python的常用问题:

1. Python library

AWS Lambda Runtime只支持原生的runtime,并没有预装任何library。

在Lambda中引入library,利用 “pip install -t”, 将library安装到项目工程中。然后一并打成zip包上传。

除了直接和代码一起打包以外,还可以利用Lambda Layer上传python的 library 。

新建一个命名为python的文件夹,把lib放到这个python文件夹中。把python文件夹打包成zip文件,上传到lambda layer,然后在lambda中引用这个layer。

其他各种语言lib打包的目录名字可以参考下图:

Creating and sharing Lambda layers - AWS LambdaCreate a Lambda layer to share code in your organization or publicly. Layers can contain libraries, a custom runtime, or other dependencies.icon-default.png?t=N7T8https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

2. Handler

在每个Python Lambda中,可以定义如下这个函数作为Lambda调用的Handler。

def lambda_handler(event, context):

创建test,利用json将参数传入。比如在test中定义如下参数

{
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

则在 lambda_handler 函数中可以这样调用(返回必须是json):

import os
import json
        
def lambda_handler(event, context):
    json_region = os.environ['AWS_REGION']
    return "{'%s':'key1'}" % event['key1']

3. Lambda Timeout

每个lambda函数有timeout配置,默认3秒,即执行超过3秒就timeout。

图中调整到了10分钟,最多15分钟:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱知菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值