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

Serverless部署Lambda时报CloudFormation模板无效错误如何解决?

错误原因
  • 部署命令未正确传入region参数,导致配置里的${opt:region}变量没有被正确解析,生成的CloudFormation导出名中包含$、{、}等非法字符,不符合AWS要求的Export Name仅能使用字母、数字、冒号、连字符的规则。
  • serverless-deployment-bucket插件生成的默认导出名称规则和你自定义的stackName、service变量规则冲突,导致生成的导出名包含非法字符。
解决方案
  1. 首先检查部署命令,确保正确传入了region和stage参数,示例命令如下:
serverless deploy --region us-east-1 --stage dev

注意传入的region值必须是AWS官方的标准区域格式,比如us-east-1、cn-northwest-1,不要使用下划线、特殊字符自定义区域名。
2. 如果传入参数后还是报错,可以手动指定导出名称,在provider.deploymentBucket配置下新增exportName字段,指定符合格式要求的固定/变量导出名,修改后的配置片段如下:

provider:
  name: aws
  runtime: nodejs12.x
  memorySize: 512
  timeout: 10
  lambdaHashingVersion: 20201221
  region: ${opt:region}
  stackName: lambdas-${opt:region}
  logRetentionInDays: 14
  deploymentBucket:
    name: lambdas-${opt:region}
    # 新增以下行,自定义导出名称,确保仅包含允许的字符
    exportName: lambdas-${opt:region}-deployment-bucket-name
  1. 如果以上操作都无效,可以尝试升级serverless-deployment-bucket插件到最新版本,旧版本插件存在导出名生成逻辑的已知bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:03:02