微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果将lambda代码上传到S3,如何更新lambda功能代码

如何解决如果将lambda代码上传到S3,如何更新lambda功能代码

当前从我的S3存储桶中获取了lambda函数代码(zip文件)。但是,在更改代码并将原始zip文件替换为更新的代码,然后运行update-stack之后,lambda函数代码在lambda控制台中似乎没有更改。

有什么办法可以使它工作?

我的json模板

{
   "AWstemplateFormatVersion": "2010-09-09","Parameters": {
    "storageS3Bucket": {
      "Type": "String","Default": "myBucket"
    }
  },"Resources": {
     
    "s3BucketimageStorage":{
      "Type" : "AWS::S3::Bucket","Properties" : {
          "BucketName" : {
              "Ref": "storageS3Bucket"
          }
        }
    },"getBannerHandler": {
       "Type": "AWS::Lambda::Function","Properties": {
         "FunctionName": "getBanner","Handler": "getBanner.handler","Role": {
           "Fn::ImportValue": {
             "Fn::Sub": "${Rolesstack}-LambdaRoleArn"
           }
         },"Code": {
           "S3Bucket": {
             "Ref": "HandlerCodeS3Bucket"
           },"S3Key":"getBanner.zip"
         },"Runtime": "nodejs12.x"
       }
     }
   }
 }

解决方法

您几乎没有选择:

  • 向lambda zip文件名添加文件版本或git commit哈希,因此当您执行CloudFormation更新堆栈时,您会将新的zip文件名作为参数传递。

  • 或者使用awscli直接更新lambda函数,但最好先删除zip文件,然后再上传,以防您要使用相同名称以避免替换相同文件时S3最终的一致性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。