本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Api
描述Api
事件來源類型的物件。如果已定義AWS::Serverless::Api資源,路徑和方法值必須對應至 API OpenAPI 定義中的 操作。
如果未定義AWS::Serverless::Api任何 ,則函數輸入和輸出會代表 HTTP 請求和 HTTP 回應。
例如,使用 JavaScript API,可以透過傳回具有金鑰 statusCode 和內文的物件來控制回應statusCode和內文。
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
Auth:
ApiFunctionAuth
Method:String
Path:String
RequestModel:RequestModel
RequestParameters:List of [ String | RequestParameter ]
RestApiId:String
TimeoutInMillis:Integer
屬性
-
Auth
-
此特定 Api+Path+Method 的身分驗證組態。
用於在未
DefaultAuthorizer
指定或覆寫預設設定時,覆寫個別路徑上 APIDefaultAuthorizer
ApiKeyRequired
的設定驗證組態。必要:否
AWS CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 AWS CloudFormation 同等的。
-
Method
-
叫用此函數的 HTTP 方法。選項包括
DELETE
、GET
、HEAD
、OPTIONS
、PATCH
、PUT
、POST
和ANY
。如需詳細資訊,請參閱 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.querystring
,method.request
且必須限制為method.request.header
、 或method.request.path
。清單可以同時包含參數名稱字串和 RequestParameter 物件。對於字串,
Required
和Caching
屬性預設為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