首页 > 其他分享 >AWS无服务开发Lambda系列之本地上传包至Lambda

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

时间:2023-01-30 20:55:35浏览次数:63  
标签:function zip 4.2 -- AWS bash Lambda 包至 lambda

本次演示分为2种
1.无第三方依赖包
2.有第三方依赖包
1.无第三方依赖包
创建 Lambda 用作部署程序包的 .zip 文件。
1.创建函数(myfunc)项目目录,并进入该目录

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

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

import json

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

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

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

 

2.有第三方依赖包
设置部署程序包(.zip 文件)的目录结构。
为具有运行时依赖项的 Lambda 函数创建部署程序包。
使用 AWS CLI 上传部署程序包并创建 Lambda 函数。
调用 Lambda 函数以返回源代码
创建 Lambda 用作部署程序包的 .zip 文件。
1.创建函数(mylib-func)项目目录,并进入该目录

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

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('', '')

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

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

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

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

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#

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

 

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

 

标签:function,zip,4.2,--,AWS,bash,Lambda,包至,lambda
From: https://www.cnblogs.com/xzlive/p/17077222.html

相关文章

  • SQL、LINQ、Lambda对照表
    SQL、LINQ、Lambda对照表SQLLINQLambdaSELECT*FROMEmployeefromeinEmployeesselecteEmployees.Select()SELECTe.LoginID,e.JobTitleFROMEmployee......
  • C# 10 Lambda 语法的改进
    C#10Lambda语法的改进C#10包括了对Lambda表达式的处理方式的许多改进:Lambda表达式可以具有自然类型,这使编译器可从Lambda表达式或方法组推断委托类型。如......
  • 常用的Lambda表达式
    1.list转map工作中,我们经常遇到list转map的案例。Collectors.toMap就可以把一个list数组转成一个Map。代码如下:publicclassTestLambda{publicstaticvoidmai......
  • 个人随记 —— AWS RDS 的 Private Link 访问方案
    一句话简述问题AWSRDS服务并没有官方提供privatelink的链接通路,需要手动配置。方案设计如图所示,需要申请规划VPC、Subnet、SecurityGroupRDS-MySQLProxyNLB......
  • C# 10 Lambda 语法的改进
    C#10包括了对Lambda表达式的处理方式的许多改进:Lambda表达式可以具有自然类型,这使编译器可从Lambda表达式或方法组推断委托类型。如果编译器无法推断返回类型,Lam......
  • [Docker] Storing Container Data in AWS S3
    StoringContainerDatainAWSS3IntroductionUsingDockervolumesisthepreferredmethodofstoringcontainerdatalocally.Volumesupportisbuiltdirectly......
  • LambdaQueryWrapper
    LambdaQueryWrapper解决拼接条件表达式时候,数据库字段名写错导致异常的问题代码范例LambdaQueryWrapper<AlarmRuleNew>alarmRuleNewLambdaQueryWrapper=newLambdaQ......
  • 跟AWS学极致服务
    春节期间,除了还在看技术书籍外,我一直抽空断断续续地在看《极致服务:创造不可思议的客户体验》一书。之前创业的经历,让我一直反思,除了赛道和落地之外,是否在服务质量上也有缺......
  • 读Java8函数式编程笔记01_Lambda表达式
    1. Java8函数式编程1.1. 没有单子1.2. 没有语言层面的惰性求值1.3. 没有为不可变性提供额外支持1.4. 集合类可以拥有一些额外的方法:default方法2. 现实世界中......
  • LeetCode正则表达式匹配(lambda/dp)
    lambda表达式[捕获列表](参数列表)mutable(可选)异常属性->返回类型{//函数体}所谓捕获列表,其实可以理解为参数的一种类型,lambda表达式内部函数体在默认情况下......