[AWS云]Lambda报错:Error: Couldn‘t find valid bootstrap(s): [/var/task/bootstrap /opt/bootstrap]

背景环境:lambda是AWS的一种无服务器运行代码的服务,根据调用的频次进行收费。如果项目不确定被调用的次数,使用不规律或者是前期测试投入,可以考虑使用该模式,相对部署在EC2虚拟机上的话,性价比更高。

问题分析:
AWS云的Lambda运行支持,从2023年的下半年的某短时间开始,蒋C++,GO等单独的支持更整合了,因为本质上都是二进制文件,所以AWS那边也不想再单独区分了,就推出了Amazon Linux 2023/Amazon Linux 2


在这两个环境运行下的处理程序被强行要求固定命名为:bootstrap

以前:


现在:

如果你的处理程序,设置的不是bootstrap,需要到编辑里面去进行修改。

当然修改之后,并不能立刻解决报错的问题,因为你本身.zip上传的代码中,打包build的二进制程序还不是bootstrap,并且需要bootstrap位于.zip的根目录下,同名+处于根目录 两个条件缺一都会继续报错:Error: Couldn't find valid bootstrap(s): [/var/task/bootstrap /opt/bootstrap]

Serverless解决方案:
大部分使用Lambda函数的公司,都是才用的serverless.yml进行构建,这个时候就遇见一个问题了,按照以前的写法:

# serverless.yml

service: golang-go1x-x86

frameworkVersion: "3"
configValidationMode: error

provider:
  name: aws
  runtime: go1.x
  architecture: x86_64
  stage: ${opt:stage, 'dev'}
  region: ${opt:region, 'eu-central-1'}
  httpApi:
    cors: true
    name: ${self:service}-${self:provider.stage}

functions:
  hello:
    name: hello
    handler: build/lambda/hello    
    events:
      - httpApi:
          path: /x86/hello
          method: get
    package:
      exclude:
        - ./**
      include:
        - ./bin/hello

  world:
    name: world
    handler: build/lambda/world
    events:
      - httpApi:
          path: /x86/world
          method: get
    package:
  
  • 50
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值