本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HttpApi
描述类型为 HttpApi 的事件源的对象。
如果 API 中存在针对指定路径和方法的 OpenApi 定义,SAM 会为您添加 Lambda 集成和安全性部分(如果适用)。
如果 API 中不存在针对指定路径和方法的 OpenApi 定义,SAM 会为您创建此定义。
语法
要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
ApiId:
String
Auth:HttpApiFunctionAuth
Method:String
Path:String
PayloadFormatVersion:String
RouteSettings:RouteSettings
TimeoutInMillis:Integer
属性
-
ApiId
-
此模板中定义的 AWS::Serverless::HttpApi 资源的标识符。
如果未定义,则会使用生成的 OpenApi 文档创建名为
ServerlessHttpApi
的默认 AWS::Serverless::HttpApi 资源,该文档包含由此模板中定义的 Api 事件定义的所有路径和方法的联合,但未指定ApiId
。这不能引用其他模板中定义的 AWS::Serverless::HttpApi 资源。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
Auth
-
此特定 Api+路径+方法的身份验证配置。
在未指定
DefaultAuthorizer
的情况下,对于覆盖 API 的DefaultAuthorizer
或在各个路径中设置身份验证配置很有用。必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
Method
-
调用此函数的 HTTP 方法。
如果未指定
Path
和Method
,SAM 会创建默认 API 路径,用于将未映射到其他端点的任何请求路由到此 Lambda 函数。每个 API 只能存在其中一个默认路径。类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
Path
-
调用此函数的 URI 路径。必须以
/
开头。如果未指定
Path
和Method
,SAM 会创建默认 API 路径,用于将未映射到其他端点的任何请求路由到此 Lambda 函数。每个 API 只能存在其中一个默认路径。类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
PayloadFormatVersion
-
指定发送到集成的有效负载的格式。
注意:PayloadFormatVersion 要求 SAM 修改 OpenAPI 定义,因此它仅适用于
DefinitionBody
属性中定义的内联 OpenApi。类型:字符串
必需:否
默认值:2.0
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
RouteSettings
-
此 HTTP API 的每条路径的路由设置。有关路由设置的更多信息,请参阅《API Gateway 开发人员指南》中的 AWS::ApiGatewayV2::Stage RouteSettings。
注意:如果在 HttpApi 资源和事件源中都指定了 RouteSettings,则 AWS SAM 会将它们合并,优先使用事件源属性。
必需:否
AWS CloudFormation 兼容性:此属性直接传递给
AWS::ApiGatewayV2::Stage
资源的RouteSettings
属性。 -
TimeoutInMillis
-
自定义超时值,范围在 50 到 29,000 毫秒之间。
注意:TimeoutInMillis 要求 SAM 修改 OpenAPI 定义,因此它仅适用于
DefinitionBody
属性中定义的内联 OpenApi。类型:整数
必需:否
默认值:5000
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
示例
默认 HttpApi 事件
使用默认路径的 HttpApi 事件。此 API 中所有未映射的路径和方法都将路由到此端点。
YAML
Events: HttpApiEvent: Type: HttpApi
HttpApi
使用特定路径和方法的 HttpApi 事件。
YAML
Events: HttpApiEvent: Type: HttpApi Properties: Path: / Method: GET
HttpApi 授权
使用授权方的 HttpApi 事件。
YAML
Events: HttpApiEvent: Type: HttpApi Properties: Path: /authenticated Method: GET Auth: Authorizer: OpenIdAuth AuthorizationScopes: - scope1 - scope2