Api - AWS Serverless Application Model

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

Api

描述Api事件來源類型的物件。如果已定義AWS::Serverless::Api資源,路徑和方法值必須對應至 API OpenAPI 定義中的 操作。

如果未定義AWS::Serverless::Api任何 ,則函數輸入和輸出會代表 HTTP 請求和 HTTP 回應。

例如,使用 JavaScript API,可以透過傳回具有金鑰 statusCode 和內文的物件來控制回應statusCode和內文。

語法

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

屬性

Auth

此特定 Api+Path+Method 的身分驗證組態。

用於在未DefaultAuthorizer指定或覆寫預設設定時,覆寫個別路徑上 API DefaultAuthorizer ApiKeyRequired的設定驗證組態。

類型ApiFunctionAuth

必要:否

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

Method

叫用此函數的 HTTP 方法。選項包括 DELETEGETHEADOPTIONSPATCHPUTPOSTANY。如需詳細資訊,請參閱 API Gateway 開發人員指南中的設定 HTTP 方法

類型:字串

必要:是

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

Path

叫用此函數的 Uri 路徑。必須以 開頭/

類型:字串

必要:是

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

RequestModel

請求使用此特定 Api+Path+Method 的模型。這應該參考 AWS::Serverless::Api 資源 Models區段中指定的模型名稱。

類型RequestModel

必要:否

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

RequestParameters

請求此特定 Api+Path+Method 的參數組態。所有參數名稱都必須以 開頭method.request.querystringmethod.request且必須限制為 method.request.header、 或 method.request.path

清單可以同時包含參數名稱字串和 RequestParameter 物件。對於字串, RequiredCaching 屬性預設為 false

類型:【 String | RequestParameter 】 的清單

必要:否

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

RestApiId

RestApi 資源的識別符,其中必須包含具有指定路徑和方法的操作。一般而言,這會設定為參考此範本中定義的AWS::Serverless::Api資源。

如果您未定義此屬性, 會使用產生的OpenApi文件 AWS SAM 建立預設AWS::Serverless::Api資源。該資源包含由相同範本中未指定 之Api事件定義的所有路徑和方法的聯集RestApiId

這無法參考在另一個範本中定義的AWS::Serverless::Api資源。

類型:字串

必要:否

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

TimeoutInMillis

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

注意

當您指定此屬性時, 會 AWS SAM 修改您的 OpenAPI 定義。OpenAPI 定義必須使用 DefinitionBody 屬性內嵌指定。

類型:整數

必要:否

預設:29,000 毫秒或 29 秒

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

範例

基本範例

YAML

Events: ApiEvent: Type: Api Properties: Path: /path Method: get RequestParameters: - method.request.header.Authorization - method.request.querystring.keyword: Required: true Caching: false