本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudFormation 指定时 AWS::Serverless::WebSocketApi 生成的资源
指定AWS::Serverless::WebSocketApi后, AWS Serverless Application Model (AWS SAM) 会生成AWS::ApiGatewayV2::Api基础 CloudFormation 资源。此外,它还会始终生成AWS::ApiGatewayV2::Stage资源,并为Routes属性中定义的每条路径 AWS SAM 生成AWS::ApiGatewayV2::RouteAWS::ApiGatewayV2::Integration、和AWS::Lambda::Permission资源。
AWS::ApiGatewayV2::Api-
LogicalId:<websocketapi‑LogicalId>可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源) AWS::ApiGatewayV2::Stage-
LogicalId:<websocketapi‑LogicalId><stage‑name>Stage是<stage‑name>StageName属性将被设置为的字符串。如果StageName未指定,则默认值为default。例如,您将StageName设置为prod,LogicalId是。MyWebSocketApiprodStage可引用属性:
<websocketapi‑LogicalId>.Stage AWS::ApiGatewayV2::Route-
LogicalId:<websocketapi‑LogicalId><normalized‑route‑key>Route是去掉特殊字符的路径密钥。例如,对于路径密钥<normalized‑route‑key>$connect,LogicalId为。MyWebSocketApiconnectRoute可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源) AWS::ApiGatewayV2::Integration-
LogicalId:<websocketapi‑LogicalId><normalized‑route‑key>Integration可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源) AWS::Lambda::Permission-
LogicalId:<websocketapi‑LogicalId><normalized‑route‑key>Permission可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源)
除了这些 CloudFormation 资源之外,如果AWS::Serverless::WebSocketApi指定了这些资源, AWS SAM 还会为以下场景生成 CloudFormation 资源:
指定身份验证属性时 AuthType 设置为 “自定义”
将的Auth属性指定AWS::Serverless::WebSocketApiAuthType为时CUSTOM,将 AWS SAM 生成AWS::ApiGatewayV2::Authorizer CloudFormation 资源。如果未指定,InvokeRole则 AWS SAM 还会生成一个AWS::Lambda::Permission资源以允许 API Gateway 调用授权器函数。
AWS::ApiGatewayV2::Authorizer-
LogicalId:<websocketapi‑LogicalId>Authorizer可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源) AWS::Lambda::Permission(InvokeRole未指定时)-
LogicalId:<websocketapi‑LogicalId>AuthorizerPermission可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源)
DomainName 属性已指定
指定DomainName属性的Domain属性后,将 AWS SAM 生成AWS::ApiGatewayV2::DomainName CloudFormation 资源。AWS::Serverless::WebSocketApi
AWS::ApiGatewayV2::DomainName-
LogicalId:ApiGatewayDomainNameV2<sha>是在创建堆栈时生成的唯一哈希值。例如:<sha>ApiGatewayDomainNameV2。926eeb5ff1可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源)
BasePath 属性已指定
指定属BasePath性的属性后, AWS SAM 会生成AWS::ApiGatewayV2::ApiMapping CloudFormation 资源,每个指定的基本路径都生成一个资源。Domain AWS::Serverless::WebSocketApi
AWS::ApiGatewayV2::ApiMapping-
LogicalId:<websocketapi‑LogicalId><basepath>ApiMapping是基本路径值。例如,如果您指定<basepath>v1为基本路径,则LogicalId为。MyWebSocketApiv1ApiMapping可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源)
指定了 Route53 属性
当指定了Domain属性的属性AWS::Serverless::WebSocketApi时, AWS SAM 会生成一个AWS::Route53::RecordSetGroup CloudFormation 资源。Route53
AWS::Route53::RecordSetGroup-
LogicalId:RecordSetGroup<sha>是在创建堆栈时生成的唯一哈希值。例如:<sha>RecordSetGroup。926eeb5ff1可引用的属性:N/A(必须使用
LogicalId来引用此 CloudFormation 资源)