View a markdown version of this page

CloudFormation 指定 AWS::Serverless::WebSocketApi 時產生的資源 - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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::IntegrationAWS::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,則 LogicalIdMyWebSocketApiprodStage

可參考屬性: <websocketapi‑LogicalId>.Stage

AWS::ApiGatewayV2::Route

LogicalId: <websocketapi‑LogicalId><normalized‑route‑key>Route

<normalized‑route‑key> 是已移除特殊字元的路由金鑰。例如,對於路由金鑰 $connectLogicalIdMyWebSocketApiconnectRoute

可參考屬性: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 資源:

Auth 屬性指定為 AuthType 設定為 CUSTOM

將 的 Auth 屬性指定AWS::Serverless::WebSocketApiAuthTypeCUSTOM, 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 屬性

AWS::Serverless::WebSocketApi 指定 DomainNameDomain 屬性時, AWS SAM 會產生 AWS::ApiGatewayV2::DomainName CloudFormation 資源。

AWS::ApiGatewayV2::DomainName

LogicalId: ApiGatewayDomainNameV2<sha>

<sha> 是建立堆疊時產生的唯一雜湊值。例如:ApiGatewayDomainNameV2926eeb5ff1

可參考屬性:N/A (您必須使用 LogicalId來參考此 CloudFormation 資源)

已指定 BasePath 屬性

AWS::Serverless::WebSocketApi 指定 BasePathDomain 屬性時, AWS SAM 會產生 AWS::ApiGatewayV2::ApiMapping CloudFormation 資源,每個指定的基礎路徑各一個。

AWS::ApiGatewayV2::ApiMapping

LogicalId: <websocketapi‑LogicalId><basepath>ApiMapping

<basepath> 是基本路徑值。例如,如果您將 v1指定為基本路徑,則 LogicalIdMyWebSocketApiv1ApiMapping

可參考屬性:N/A (您必須使用 LogicalId來參考此 CloudFormation 資源)

已指定 Route53 屬性

Domain AWS::Serverless::WebSocketApi 指定 屬性的 Route53 屬性時, AWS SAM 會產生 AWS::Route53::RecordSetGroup CloudFormation 資源。

AWS::Route53::RecordSetGroup

LogicalId: RecordSetGroup<sha>

<sha> 是建立堆疊時產生的唯一雜湊值。例如:RecordSetGroup926eeb5ff1

可參考屬性:N/A (您必須使用 LogicalId來參考此 CloudFormation 資源)