AWS无服务开发Lambda系列之本地上传包至Lambda

举报
指剑 发表于 2022/09/02 22:53:39 2022/09/02
【摘要】 本次演示分为2种 1.无第三方依赖包 2.有第三方依赖包 1.无第三方依赖包 创建 Lambda 用作部署程序包的 .zip 文件。 1.创建函数(myfunc)项目目录,并进入该目录 bas...

本次演示分为2种

1.无第三方依赖包

2.有第三方依赖包

1.无第三方依赖包

创建 Lambda 用作部署程序包的 .zip 文件。

1.创建函数(myfunc)项目目录,并进入该目录

bash-4.2# mkdir myfunc
bash-4.2# cd myfunc/

  
 
  • 1
  • 2

2.编写您的lambda函数,此处作为演示

import json

def lambda_handler(event, context):
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.将 lambda_function.py 文件添加到 .zip 文件的根目录

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.此处可以用aws cli来创建函数,也可以将zip包直接通过aws console上传(示例如下)

A.AWS Console 上传

在这里插入图片描述

B.aws cli创建函数,并 指定zip包
请自行修改对应的参数,如 IAM的ARN
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

  
 
  • 1
  • 2

2.有第三方依赖包

  1. 设置部署程序包(.zip 文件)的目录结构。
  2. 为具有运行时依赖项的 Lambda 函数创建部署程序包。
  3. 使用 AWS CLI 上传部署程序包并创建 Lambda 函数。
  4. 调用 Lambda 函数以返回源代码

创建 Lambda 用作部署程序包的 .zip 文件。

1.创建函数(mylib-func)项目目录,并进入该目录

bash-4.2# mkdir mylib-func
bash-4.2# cd mylib-func

  
 
  • 1
  • 2

2.编写示例代码lambda_function.py(此处requests为第三方包)

import requests
def main(event, context):   
    response = requests.get("https://www.baidu.com/")
    print(response.text)
    return response.text
if __name__ == "__main__":   
    main('', '')

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.在新的 package 目录中安装请求库。

bash-4.2# pip3 install --target ./package requests

  
 
  • 1

4.使用已安装库在根目录下创建部署程序包(在上级目录创建zip包,将package目录下的东西加入到zip包中)

bash-4.2# cd package/
bash-4.2# zip -r ../mylib-func.zip .

  
 
  • 1
  • 2

5.将 lambda_function.py 文件添加到 zip 文件的根目录

bash-4.2# zip -g mylib-func.zip lambda_function.py 
  adding: lambda_function.py (deflated 32%)
bash-4.2# 

  
 
  • 1
  • 2
  • 3

6.将包上传到AWS Lambda

A.AWS Cli创建函数并选择包(请自行修改对应的参数)
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     

  
 
  • 1
B.使用AWS Console创建函数并上传zip包

在这里插入图片描述

文章来源: blog.csdn.net,作者:指剑,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fly1574/article/details/120369026

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。