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 使用生成的OpenApi文档,其中包含由此模板中定义的Api事件定义的所有路径和方法的统一性,该模板未指定 ApiId.

这不能引用 AWS::Serverless::HttpApi 资源。

类型:字符串

必需: 否

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

Auth

此特定Api+路径+方法的授权配置。

对覆盖API有用 DefaultAuthorizer 或者在单个路径上设置auth配置 DefaultAuthorizer 是指定的。

类型: HttpApi功能授权

必需: 否

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

Method

调用此函数的HTTPS方法。

如果否 PathMethod 将创建一个默认API路径,将任何未映射至不同端点的请求分配至此Lambda函数。每个API只能存在其中一个默认路径。

类型:字符串

必需: 否

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

Path

调用此函数的Uri路径。开头必须是 /.

如果否 PathMethod 将创建一个默认API路径,将任何未映射至不同端点的请求分配至此Lambda函数。每个API只能存在其中一个默认路径。

类型:字符串

必需: 否

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

PayloadFormatVersion

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

注意:PayloadFormatVersion要求SAM修改您的OpenAPI定义,因此它仅适用于在 DefinitionBody 属性。

类型:字符串

必需: 否

默认值:~ 2.0

AWS CloudFormation 相容性: 此属性对于 AWS SAM 并且没有 AWS CloudFormation 同等产品。

RouteSettings

此HTTPSAPI的按路径路由设置。有关路径设置的详细信息,请参阅 ASTA::ApiGatewayV2::阶段性路线设置 在 API 网关 开发者指南。

注意 如果在HttpApi资源和事件来源中指定了routeSettings, AWS SAM 将其与事件来源属性合并。

类型RouteSettings

必需: 否

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

TimeoutInMillis

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

注意:TimeoutInMillis要求SAM修改您的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