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

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

HttpApi

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

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

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

语法

要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。

属性

ApiId

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

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

这不能引用其他模板中定义的 AWS::Serverless::HttpApi 资源。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

Auth

此特定 Api+路径+方法的身份验证配置。

在未指定 DefaultAuthorizer 的情况下,对于覆盖 API 的 DefaultAuthorizer 或在各个路径中设置身份验证配置很有用。

类型:HttpApiFunctionAuth

必需:否

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

Method

调用此函数的 HTTP 方法。

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

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

Path

调用此函数的 URI 路径。必须以 / 开头。

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

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

PayloadFormatVersion

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

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

类型:字符串

必需:否

默认值:2.0

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。

RouteSettings

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

注意:如果 RouteSettings 在 HttpApi 资源和事件源中同时指定,则将其Amazon SAM合并,优先使用事件源属性。

类型:RouteSettings

必需:否

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

TimeoutInMillis

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

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

类型:整数

必需:否

默认值:5000

Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon 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