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

AWS::Serverless::Api报StageName未定义,添加OpenApiVersion无效求助

解决SAM本地运行时StageName未定义的错误

核心问题

你模板里的StageName:键名多了个末尾的冒号!JSON键名必须严格匹配AWS SAM的属性定义,这个多余的冒号让属性名变成了无效的StageName:(带冒号),SAM自然识别不到要求的StageName属性,所以抛出了那个错误。

修正后的关键代码片段

"RapidApiGateway": {
  "Type": "AWS::Serverless::Api",
  "Properties": {
    "StageName": "Prod", // 这里去掉了键名后面的冒号
    "MethodSettings": [
      {
        "HttpMethod": "*",
        "ResourcePath": "/*",
        "ThrottlingRateLimit": 10,
        "ThrottlingBurstLimit": 10
      }
    ],
    "Auth": {
      "DefaultAuthorizer": "RapidAuthorizer",
      "Authorizers": {
        "RapidAuthorizer": {
          "Fn::GetAtt": [
            "RapidAuthFunction",
            "attributeName"
          ],
          "Identity": {
            "Headers": [
              "X-RapidAPI-Proxy-Secret"
            ]
          }
        }
      }
    }
  }
}

补充说明

  • 你看到的OpenApiVersion: '2.0'方案,主要用于基于OpenAPI规范定义API的场景,和你当前的语法错误无关,所以加了也没用。
  • 修正这个语法问题后,再执行sam local start-api应该就能正常识别StageName,加载授权器配置了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:05:21