本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
HttpApi
描述具有類型之事件來源的物件 HttpApi。
如果 API 上存在指定路徑和方法的定 OpenApi 義,SAM 將為您新增 Lambda 整合和安全性區段 (如果適用)。
如果 API 上沒有 OpenApi 指定路徑和方法的定義,SAM 將為您創建此定義。
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
ApiId:
String
Auth:HttpApiFunctionAuth
Method:String
Path:String
PayloadFormatVersion:String
RouteSettings:RouteSettings
TimeoutInMillis:Integer
屬性
-
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
有用。必要:否
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 合併。
必要:否
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