You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Serverless Framework部署ZIP包Lambda及EventBridge触发配置

Serverless Framework部署预打包ZIP Lambda并配置EventBridge触发方案

要实现预打包ZIP格式Lambda函数的部署,同时保留原有EventBridge规则创建能力,只需要在原有函数配置基础上增加包路径指定配置,调整handler匹配ZIP内结构即可,原有EventBridge事件配置无需修改。

具体调整项

  • 修改handler字段值,使其和ZIP包解压后的实际处理程序路径完全匹配:比如ZIP解压后根目录存在index.py,处理方法为handler,则该字段值为index.handler
  • 为对应函数新增package配置块,禁用Serverless默认的源码打包逻辑,直接指定本地预打包ZIP作为部署产物:
    • 设置individually: true开启函数独立部署配置
    • 设置artifact字段为本地ZIP文件的相对/绝对路径

调整后完整配置示例

functions:
  lambdaForSecurityHub:
    name: securityhub-forwarder
    role: SecurityHubLambdaRole
    # 请替换为你的ZIP包内实际的处理程序路径
    handler: lambda_handler.lambda_handler
    # 新增预打包ZIP指定配置
    package:
      individually: true
      # 请替换为你本地ZIP文件的实际存放路径
      artifact: ./securityhub-forwarder.zip
    events:
      - eventBridge:
          eventBus: ${self:custom.securityhubEventBusArn}
          name: securityhub-findings-resolver-rule
          pattern:
            source:
              - aws.ec2
              - aws.iam
              - aws.s3
            detail-type:
              - AWS API Call via CloudTrail
            detail:
              eventSource:
                - ec2.amazonaws.com
                - iam.amazonaws.com
                - s3.amazonaws.com
              eventName:
                - TerminateInstances
                - DeleteRole
                - DeleteBucket
                - DeleteSecurityGroup

验证注意事项

  1. 若你的serverless.yml全局配置了通用package打包规则,函数级的artifact配置优先级更高,会直接使用指定ZIP包,不会触发全局打包逻辑
  2. 正式部署前可执行sls package命令验证部署产物,确认输出的部署包为你指定的ZIP文件,避免路径配置错误
  3. 若部署后Lambda提示找不到处理程序,请优先检查ZIP包内的文件层级和handler字段的路径是否对应,不要多写或少写目录层级

内容的提问来源于stack exchange,提问作者krisdigitx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 12:33:33