HttpApi - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

HttpApi

描述具有類型之事件來源的物件 HttpApi。

如果 API 上存在指定路徑和方法的定 OpenApi 義,SAM 將為您新增 Lambda 整合和安全性區段 (如果適用)。

如果 API 上沒有 OpenApi 指定路徑和方法的定義,SAM 將為您創建此定義。

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

屬性

ApiId

此範本中定義之AWS::Serverless::HttpApi資源的識別碼。

如果未定義,則使用生成的文檔創建一個調ServerlessHttpApi用的默認AWS::Serverless::HttpApi資源,該 OpenApi 文檔包含由此模板中定義的 Api 事件定義的所有路徑和方法的聯合,這些文檔不指定ApiId.

這不能引用另一個模板中定義的AWS::Serverless::HttpApi資源。

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

Auth

此特定 API + 路徑 + 方法的身份驗證配置。

用於在未指定的情況下覆蓋 API DefaultAuthorizer 或在單個路徑上設置 auth 配置非常DefaultAuthorizer有用。

類型:HttpApiFunctionAuth

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

Method

呼叫此函數的 HTTP 方法。

如果沒Method有指定Path和,SAM 將建立預設 API 路徑,將任何未對應至不同端點的要求路由至此 Lambda 函數。每個 API 只能存在其中一個預設路徑。

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

Path

呼叫此函式的 Uri 路徑。必須以開頭/

如果沒Method有指定Path和,SAM 將建立預設 API 路徑,將任何未對應至不同端點的要求路由至此 Lambda 函數。每個 API 只能存在其中一個預設路徑。

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

PayloadFormatVersion

為傳送至整合的承載指定格式。

注意: PayloadFormatVersion 要求 SAM 修改您的 OpenAPI 定義,因此它僅適用於在DefinitionBody屬性中 OpenApi 定義的內聯定義。

類型:字串

必要:否

預設值:2.0

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

RouteSettings

此 HTTP API 的每個路由設定。如需有關路由設定的詳細資訊,請參閱 API Gateway 開發人員指南AWS::ApiGatewayV2::Stage RouteSettings中的。

附註:如果 RouteSettings 同時在 HttpApi 資源和事件來源中指定,則會將它們與優先順序的事件來源屬性 AWS SAM 合併。

類型:RouteSettings

必要:否

AWS CloudFormation 兼容性:此屬性直接傳遞給AWS::ApiGatewayV2::Stage資源的RouteSettings屬性。

TimeoutInMillis

自訂介於 50 和 29,000 毫秒之間的逾時。

注意: TimeoutInMillis 要求 SAM 修改您的 OpenAPI 定義,因此它僅適用於在DefinitionBody屬性中 OpenApi 定義的內聯定義。

類型:整數

必要:否

預設值

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