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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HttpApi

描述类型为 HttpApi 的事件源的对象。

如果 API 上存在指定路径和方法的 OpenApi 定义,SAM 会为您添加 Lambda 集成和安全性部分 (如果适用)。

如果 API 上没有指定路径和方法的 OpenApi 定义,SAM 将为您创建此定义。

语法

在您的 中声明此实体 AWS 无服务器应用程序模型 (AWS SAM) 模板时,请使用以下语法。

属性

ApiId

此模板中定义的 AWS::Serverless::HttpApi 资源的标识符。

如果未定义,则使用生成的 AWS::Serverless::HttpApi 文档(包含此模板中定义的未指定 ServerlessHttpApi 的 Api 事件定义的所有路径和方法的并集)创建名为 OpenApi 的默认 ApiId 资源。

这无法引用另一个模板中定义的 AWS::Serverless::HttpApi 资源。

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

Auth

此特定 Api+Path+Method 的身份验证配置。

用于覆盖 API 的 DefaultAuthorizer 或在未指定 DefaultAuthorizer 时在单个路径上设置身份验证配置。

类型: HttpApiFunctionAuth

必需: 否

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

Method

为其调用此函数的 HTTP 方法。

如果未指定 PathMethod,SAM 将创建一个默认 API 路径,该路径将未映射到不同终端节点的任何请求路由到此 Lambda 函数。对于每个 API,只能存在其中一个默认路径。

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

Path

为其调用此函数的 Uri 路径。必须以 / 开头。

如果未指定 PathMethod,SAM 将创建一个默认 API 路径,该路径将未映射到不同终端节点的任何请求路由到此 Lambda 函数。对于每个 API,只能存在其中一个默认路径。

类型:字符串

必需: 否

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

PayloadFormatVersion

指定发送到集成的负载的格式。

注意:PayloadFormatVersion 需要 SAM 修改您的 OpenAPI 定义,因此它仅适用于在 OpenApi 属性中定义的内联 DefinitionBody

类型:字符串

必需: 否

默认值:2.0

兼容性AWS CloudFormation:此属性对于 AWS SAM 是唯一的,没有等效的 AWS CloudFormation。

RouteSettings

此 HTTP API 的每路由设置。有关路由设置的更多信息,请参阅 RouteSettings 中的 AWS::ApiGatewayV2::Stage 。API 网关 开发人员指南

注意:如果在 RouteSettings 资源和事件源中都指定了 HttpApi,则 AWS SAM 会以事件源属性优先将其合并。

类型: RouteSettings

必需: 否

兼容性AWS CloudFormation:此属性直接传递给 RouteSettings 资源的 AWS::ApiGatewayV2::Stage 属性。

TimeoutInMillis

自定义超时值,范围在 50 到 29,000 毫秒之间。

注意:TimeoutInMillis 需要 SAM 修改您的 OpenAPI 定义,因此它仅适用于在 OpenApi 属性中定义的内联 DefinitionBody

类型:整数

必需: 否

默认值: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