本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HttpApi
用 HTTPAPI 类型描述事件源的对象。
如果 API 上存在指定路径和方法的 OpenAPI 定义,SAM 将为您添加 Lambda 集成和安全部分(如果适用)。
如果 API 上没有指定路径和方法的 OpenAPI 定义,SAM 将为您创建此定义。
语法
要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM) 模板,请使用以下语法。
YAML
ApiId:
String
Auth:HttpApiFunctionAuth
Method:String
Path:String
PayloadFormatVersion:String
RouteSettings:RouteSettings
TimeoutInMillis:Integer
属性
-
ApiId
-
的标识符AWS::Serverless::HttpApi在此模板中定义的资源。
如果没有定义,则默认值AWS::Serverless::HttpApi资源被创建名为
ServerlessHttpApi
使用生成的 OpenAPI 文档,其中包含由此模板中定义的未指定ApiId
.这不能引用AWS::Serverless::HttpApi在另一个模板中定义的资源。
类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
-
Auth
-
此特定 Api + 路径 + 方法的身份验证配置。
对于覆盖 API 很有用
DefaultAuthorizer
或者在没有时在单个路径上设置 auth 配置DefaultAuthorizer
已指定。必需:否
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
-
Method
-
调用此函数的 HTTP 方法。
如果没有
Path
和Method
,SAM 将创建一个默认 API 路径,该路径将任何未映射到其他终端节点的请求路由到此 Lambda 函数。每个 API 只能存在其中一个默认路径。类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
-
Path
-
调用此函数的 Uri 路径。必须从开始
/
.如果没有
Path
和Method
,SAM 将创建一个默认 API 路径,该路径将任何未映射到其他终端节点的请求路由到此 Lambda 函数。每个 API 只能存在其中一个默认路径。类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
-
PayloadFormatVersion
-
指定发送到集成的负载的格式。
注意:PayloadFormatVersion 要求 SAM 修改你的 OpenAPI 定义,因此它只适用于在
DefinitionBody
财产。类型:字符串
必需:否
默认值:2.0
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
-
RouteSettings
-
此 HTTP API 的每路由路由设置。有关路由设置的更多信息,请参阅AWS::ApiGatewayV2::Stage RouteSettings中的API Gateway 开发人员指南.
注意:如果在 HTTPAPI 资源和事件源中都指定了 RouteSettings,Amazon SAM将它们与事件源属性合并优先。
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
RouteSettings
的财产AWS::ApiGatewayV2::Stage
资源。 -
TimeoutInMillis
-
自定义超时值,范围在 50 到 29,000 毫秒之间。
注意:TimeoutInMillis 要求 SAM 修改你的 OpenAPI 定义,因此它只适用于在
DefinitionBody
财产。类型:整数
必需:否
默认值:5000
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM没有Amazon CloudFormation等效项
示例
默认 HTTPi 事件
使用默认路径的 HTTPi 事件。此 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