Amazon web services 如果lambda代码上载到S3,如何更新lambda函数代码
lambda函数代码(zip文件)当前正在从我的S3存储桶中获取。但是,在我更改代码并用更新的代码替换原始zip文件,然后运行更新堆栈之后,lambda函数代码在lambda控制台中似乎没有更改 有什么办法使它起作用吗 我的json模板Amazon web services 如果lambda代码上载到S3,如何更新lambda函数代码,amazon-web-services,amazon-s3,aws-lambda,amazon-cloudformation,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Cloudformation,lambda函数代码(zip文件)当前正在从我的S3存储桶中获取。但是,在我更改代码并用更新的代码替换原始zip文件,然后运行更新堆栈之后,lambda函数代码在lambda控制台中似乎没有更改 有什么办法使它起作用吗 我的json模板 { “AWSTemplateFormatVersion”:“2010-09-09”, “参数”:{ “存储桶”:{ “类型”:“字符串”, “默认值”:“myBucket” } }, “资源”:{ “s3BucketImageStorage”:{ “类型”:“A
{
“AWSTemplateFormatVersion”:“2010-09-09”,
“参数”:{
“存储桶”:{
“类型”:“字符串”,
“默认值”:“myBucket”
}
},
“资源”:{
“s3BucketImageStorage”:{
“类型”:“AWS::S3::Bucket”,
“财产”:{
“BucketName”:{
“Ref”:“storageS3Bucket”
}
}
},
“getBannerHandler”:{
“类型”:“AWS::Lambda::Function”,
“财产”:{
“FunctionName”:“getBanner”,
“Handler”:“getBanner.Handler”,
“作用”:{
“Fn::导入值”:{
“Fn::Sub:“${RolesStack}-lambdarolarn”
}
},
“代码”:{
“S3Bucket”:{
“Ref”:“HandlerCodeS3Bucket”
},
“S3Key”:“getBanner.zip”
},
“运行时”:“nodejs12.x”
}
}
}
}
您几乎没有选择:
- 向lambda zip文件名添加文件版本或git commit散列,以便在执行CloudFormation更新堆栈时,将新的zip文件名作为参数传递
- 或者使用awscli直接更新lambda函数,但最好先删除zip文件,然后再上载,以防在替换同一文件时使用相同的名称,从而避免S3最终的一致性