0

我在 Terraform 中使用了 CloudFormation 堆栈,因为当时不支持 WebSocket API 网关。

最近在尝试应用更改时,我遇到了这个错误:

REST API 和 HTTP API 在同一个域名上的混合只能通过 API Gateway 的 V2 DomainName 接口来实现。目前,WebSocket API 只能通过其他 WebSocket API 附加到域名。这也必须通过 API Gateway 的 V2 域名接口进行。

我发现使用资源AWS::ApiGatewayV2::ApiMapping而不是AWS::ApiGateway::BasePathMapping解决这个问题,所以我替换了这个:

  PathMapping:
    Type: AWS::ApiGateway::BasePathMapping
    Properties:
      BasePath: '(none)'
      DomainName: !Ref CustomDomainName
      RestApiId: !Ref WebSocketApi
      Stage: !Ref Stage

有了这个:

  PathMappingV2:
    Type: AWS::ApiGatewayV2::ApiMapping
    Properties:
      ApiId: !Ref WebSocketApi
      DomainName: !Ref CustomDomainName
      Stage: !Ref Stage

不幸的是,我开始收到此错误:

此域名已存在 ApiMapping 键。

有没有合适的方法来解决这个问题?我在文档中找不到任何内容。

4

0 回答 0