AWS无服务开发Lambda系列之本地上传包至Lambda
本次演示分为2种
1.无第三方依赖包
2.有第三方依赖包
1.无第三方依赖包
创建 Lambda 用作部署程序包的 .zip 文件。
1.创建函数(myfunc)项目目录,并进入该目录
1 2 | bash-4.2# mkdir myfunc bash-4.2# cd myfunc/ |
2.编写您的lambda函数,此处作为演示
1 2 3 4 5 6 7 8 | import json def lambda_handler( event , context): # TODO implement return { 'statusCode' : 200, 'body' : json.dumps( 'Hello from Lambda!' ) } |
3.将 lambda_function.py 文件添加到 .zip 文件的根目录
1 2 3 4 5 6 | bash-4.2# zip my-function.zip lambda_function.py adding: lambda_function.py (deflated 19%) bash-4.2# ls -l total 8 -rw-r--r--. 1 root root 165 Sep 18 07:49 lambda_function.py -rw-r--r--. 1 root root 320 Sep 18 07:51 my-function.zip |
4.此处可以用aws cli来创建函数,也可以将zip包直接通过aws console上传(示例如下)
A.AWS Console 上传
B.aws cli创建函数,并 指定zip包
请自行修改对应的参数,如 IAM的ARN
1 | bash-4.2# aws lambda create-function --function-name my-func --zip-file fileb: //my-function.zip --handler lambda_function.lambda_handler --runtime python3.6 --role arn:aws:iam::your-account-id:role/lambda-ex |
2.有第三方依赖包
设置部署程序包(.zip 文件)的目录结构。
为具有运行时依赖项的 Lambda 函数创建部署程序包。
使用 AWS CLI 上传部署程序包并创建 Lambda 函数。
调用 Lambda 函数以返回源代码
创建 Lambda 用作部署程序包的 .zip 文件。
1.创建函数(mylib-func)项目目录,并进入该目录
1 2 | bash-4.2# mkdir mylib-func bash-4.2# cd mylib-func |
2.编写示例代码lambda_function.py(此处requests为第三方包)
1 2 3 4 5 6 7 | import requests def main( event , context): response = requests. get ( "https://www.baidu.com/" ) print(response.text) return response.text if __name__ == "__main__" : main( '' , '' ) |
3.在新的 package 目录中安装请求库。
1 | bash-4.2# pip3 install --target ./package requests |
4.使用已安装库在根目录下创建部署程序包(在上级目录创建zip包,将package目录下的东西加入到zip包中)
1 2 | bash-4.2# cd package/ bash-4.2# zip -r ../mylib-func.zip . |
5.将 lambda_function.py 文件添加到 zip 文件的根目录
1 2 3 | bash-4.2# zip -g mylib-func.zip lambda_function.py adding: lambda_function.py (deflated 32%) bash-4.2# |
6.将包上传到AWS Lambda
A.AWS Cli创建函数并选择包(请自行修改对应的参数)
1 | bash-4.2# aws lambda create-function --function-name my-sourcecode-function --zip-file fileb: //mylib-func.zip --handler lambda_function.main --runtime python3.8 --role arn:aws:iam::your-account-id:role/lambda-ex |
B.使用AWS Console创建函数并上传zip包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)