AWS::ApiGatewayV2::Route - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ApiGatewayV2::Route

AWS::ApiGatewayV2::Route 资源为 API 创建路由。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::ApiGatewayV2::Route", "Properties" : { "ApiId" : String, "ApiKeyRequired" : Boolean, "AuthorizationScopes" : [ String, ... ], "AuthorizationType" : String, "AuthorizerId" : String, "ModelSelectionExpression" : String, "OperationName" : String, "RequestModels" : Json, "RequestParameters" : Json, "RouteKey" : String, "RouteResponseSelectionExpression" : String, "Target" : String } }

YAML

Type: AWS::ApiGatewayV2::Route Properties: ApiId: String ApiKeyRequired: Boolean AuthorizationScopes: - String AuthorizationType: String AuthorizerId: String ModelSelectionExpression: String OperationName: String RequestModels: Json RequestParameters: Json RouteKey: String RouteResponseSelectionExpression: String Target: String

属性

ApiId

API 标识符。

必需:是

类型:字符串

Update requires: Replacement

ApiKeyRequired

指定路由是否需要 API 键。仅 WebSocket API 支持。

必需:否

类型:布尔值

Update requires: No interruption

AuthorizationScopes

该路由支持的授权范围。

必需:否

类型:字符串列表

Update requires: No interruption

AuthorizationType

路由的授权类型。对于 WebSocket API,有效值 NONE 表示开放访问;AWS_IAM 表示使用 AWS IAM 权限;CUSTOM 表示使用 Lambda 授权方。对于 HTTP API,有效值 NONE 表示开放访问;JWT 表示使用 JSON Web 令牌。

必需:否

类型:字符串

Update requires: No interruption

AuthorizerId

要与该路由关联的 Authorizer 资源的标识符。创建授权方时,API Gateway 会生成授权方标识符。

必需:否

类型:字符串

Update requires: No interruption

ModelSelectionExpression

路由的模型选择表达式。仅 WebSocket API 支持。

必需:否

类型:字符串

Update requires: No interruption

OperationName

路由的操作名称。

必需:否

类型:字符串

Update requires: No interruption

RequestModels

路由的请求模型。仅 WebSocket API 支持。

必需:否

类型:Json

Update requires: No interruption

RequestParameters

路由的请求参数。仅 WebSocket API 支持。

必需:否

类型:Json

Update requires: No interruption

RouteKey

路由的路由键。对于 HTTP API,路由键可以是 $default,也可以是 HTTP 方法和资源路径的组合,例如 GET /pets

必需:是

类型:字符串

Update requires: No interruption

RouteResponseSelectionExpression

路由的路由响应选择表达式。仅 WebSocket API 支持。

必需:否

类型:字符串

Update requires: No interruption

Target

路由的目标。

必需:否

类型:字符串

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 Route 资源 ID,例如 abcd123

For more information about using the Ref function, see Ref.

示例

HTTP API 路由创建示例

以下示例为名为 MyAPI 的 HTTP API(已具有名为 MyIntegrationintegration 资源)创建一个名为 MyRouteroute 资源。路由接受 POST 请求以 /signup

JSON

"MyRoute": { "Type": "AWS::ApiGatewayV2::Route", "Properties": { "ApiId": { "Ref": "MyAPI" }, "RouteKey": "POST /signup", "Target": { "Fn::Join": [ "/", [ "integrations", { "Ref": "MyIntegration" } ] ] } } }

YAML

MyRoute: Type: AWS::ApiGatewayV2::Route Properties: ApiId: !Ref MyAPI RouteKey: 'POST /signup' Target: !Join - / - - integrations - !Ref MyIntegration

WebSocket API 路由创建示例

以下示例为名为 MyAPI 的 WebSocket API 创建一个名为 MyRouteroute 资源(已具有名为 MyIntegrationintegration 资源)。路由具有路由键值 routekey1

JSON

{ "MyRoute": { "Type": "AWS::ApiGatewayV2::Route", "DependsOn": [ "MyIntegration" ], "Properties": { "ApiId": { "Ref": "MyApi" }, "RouteKey": "routekey1", "AuthorizationType": "NONE", "Target": { "Fn::Join": [ "/", [ "integrations", { "Ref": "MyIntegration" } ] ] } } } }

YAML

MyRoute: Type: 'AWS::ApiGatewayV2::Route' DependsOn: - MyIntegration Properties: ApiId: !Ref MyApi RouteKey: routekey1 AuthorizationType: NONE Target: !Join - / - - integrations - !Ref MyIntegration

另请参阅

  • Amazon API Gateway 版本 2 API 参考中的 CreateRoute