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

CloudFormation创建APIGateway报错:Empty的AWS::ApiGateway::Model已存在

问题原因

Amazon API Gateway 针对每个Rest API默认内置了application/json类型的Empty模型,你在模板中显式定义同名同类型的AWS::ApiGateway::Model资源,会和系统内置资源产生命名冲突,因此触发该报错。
你通过Former2反向导出模板时,工具会将API下所有可见的模型(包含系统内置的默认模型)全部导出为显式定义的资源,这是导致错误的直接诱因。

解决方案

方案1:直接使用内置Empty模型(推荐)

直接删除模板中你自定义的EmptyModel资源定义即可,API Gateway已内置该模型,你可以在所有AWS::ApiGateway::Method资源中直接引用字符串Empty,无需通过!Ref调用自定义资源:

# 原Method中的引用写法(错误,依赖自定义的EmptyModel)
Models:
  application/json: !Ref EmptyModel

# 修改后的引用写法(正确,直接调用内置模型)
Models:
  application/json: Empty

方案2:重命名自定义模型

如果你有特殊需求必须显式定义空模型,将模型的Name参数修改为和内置模型不冲突的名称即可:

EmptyModel:
  Type: "AWS::ApiGateway::Model"
  Properties:
    RestApiId: !Ref ApiGatewayRestApi
    Name: "CustomEmpty" # 修改为非Empty的自定义名称
    Description: "This is a default empty schema model"
    Schema: |
        {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "title" : "Empty Schema",
          "type" : "object"
        }
    ContentType: "application/json"

后续在Method中引用时仍可通过!Ref EmptyModel调用该自定义资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:15:01