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

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

HttpApi

用 HTTPAPI 类型描述事件源的对象。

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

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

Syntax

要在您的Amazon Serverless Application Model(Amazon SAM) 模板,请使用以下语法。

Properties

ApiId

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

如果没有定义,则默认值AWS::Serverless::HttpApi资源被创建名为ServerlessHttpApi使用生成的 OpenAPI 文档,其中包含由此模板中定义的未指定ApiId.

这不能引用AWS::Serverless::HttpApi在另一个模板中定义的资源。

类型:String

必需:否

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

Auth

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

对于覆盖 API 很有用DefaultAuthorizer或者在没有时在单个路径上设置身份验证配置DefaultAuthorizer已指定。

类型HTTPIFF 函数身份验证

必需:否

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

Method

调用此函数的 HTTP 方法。

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

类型:String

必需:否

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

Path

调用此函数的 Uri 路径。必须从开始/.

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

类型:String

必需:否

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

PayloadFormatVersion

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

注意:PayloadFORMATVersion 要求 SAM 修改你的 OpenAPI 定义,因此它只适用于DefinitionBody财产。

类型:String

必需:否

默认值:2.0

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

RouteSettings

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

注意:如果在 HTTPAPI 资源和事件源中都指定了 RouteSettings,Amazon SAM将它们与事件源属性合并起来优先。

类型RouteSettings

必需:否

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

TimeoutInMillis

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

注意:TimeoutInMillis 要求 SAM 修改你的 OpenAPI 定义,因此它只适用于DefinitionBody财产。

类型:整数

必需:否

默认值:5000

Amazon CloudFormation兼容性:对是唯一的Amazon SAM没有Amazon CloudFormation等效函数。

Examples

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