x-amazon-apigateway-integration 物件 - Amazon API Gateway

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

x-amazon-apigateway-integration 物件

指定用於此方法的後端整合詳細資訊。這個擴展是打開API操作對象的擴展屬性。結果為API閘道整合物件。

屬性名稱 類型 描述
cacheKeyParameters string 陣列 要快取其值的請求參數清單。
cacheNamespace string 相關快取參數的API特定標籤群組。
connectionId string 私有整合之 a VpcLink的識別碼。
connectionType string 整合連線類型。有效值是私有整合的 "VPC_LINK""INTERNET"
credentials string

對於以 AWS IAM角色為基礎的認證,請指ARN定適當IAM角色的。如果未指定,認證會預設為以資源為基礎的權限,這些權限必須手動新增,以允許存取資源。API如需詳細資訊,請參閱使用資源政策授予許可

注意:使用IAM認證時,請確定已為部署此認證的區AWS STS域啟用區域端點API,以獲得最佳效能。

contentHandling string 請求承載編碼轉換類型。有效值為 1) CONVERT_TO_TEXT,將二進位承載轉換為 base64 編碼的字串或將文字承載轉換為 utf-8 編碼的字串,或以原生方式傳遞文字承載,不予修改;和 2) CONVERT_TO_BINARY,將文字承載轉換為 Base64 編碼的 blob,或以原生方式傳遞二進位承載,不予修改。
httpMethod string 整合要求中使用的HTTP方法。若要呼叫 Lambda 函數,該值必須為 POST
integrationSubtype string 指定 AWS 服務整合的整合子類型。僅支援 HTTPAPIs. 如需支援的整合子類型,請參閱整合子類型參照
passthroughBehavior string 指定未對應內容類型的請求承載如何傳遞經整合請求,而無需修改。支援的值為 when_no_templateswhen_no_matchnever。如需詳細資訊,請參閱整合。 passthroughBehavior
payloadFormatVersion string 為傳送至整合的承載指定格式。所需的 HTTPAPIs. 對於 HTTPAPIs,Lambda 代理整合支援的值為1.02.0。對於所有其他整合,1.0 是唯一支援的值。如需進一步了解,請參閱HTTPAPIs在API閘道中建立 AWS Lambda 代理整合整合子類型參照
requestParameters x-amazon-apigateway-integration。 requestParameters 物件

對於 RESTAPIs,指定從方法要求參數到整合要求參數的對應。支援的請求參數為 querystringpathheaderbody

對於 HTTPAPIs,請求參數是一個鍵-值映射,指定傳遞給具有指integrationSubtypeAWS_PROXY集成的參數。您可以提供靜態值,或映射請求資料、階段變數或在執行階段評估的內容變數。如需進一步了解,請參閱HTTPAPIs在API閘道中建立 AWS 服務整合

requestTemplates x-amazon-apigateway-integration。 requestTemplates 物件 對應指定MIME類型之要求承載的範本。
responses x-amazon-apigateway-integration. 回應物件 定義方法的回應,並指定從整合回應到方法回應所需的參數對應或承載對應。
timeoutInMillis integer 整合逾時,介於 50 毫秒到 29,000 毫秒之間。
type string

與指定後端整合的類型。有效的 值如下:

  • http或者http_proxy,用於與HTTP後端集成。

  • aws_proxy,以便與 AWS Lambda 函數整合。

  • aws,用於整合 AWS Lambda 函數或其他 AWS 服務,例如 Amazon DynamoDB、Amazon 簡單通知服務或 Amazon 簡單佇列服務。

  • mock,用於在不調用任何後端的情況下與 API Gateway 集成。

如需整合類型的詳細資訊,請參閱 integration:type

tlsConfig x-amazon-apigateway-integration。 tlsConfig 物件 指TLS定整合的組態。
uri string 後端URI的端點。對於aws類型的集成,這是一個ARN值。對於HTTP整合,這是包括httpshttp配置URL的HTTP端點。

x-amazon-apigateway-integration 例子

對於 HTTPAPIs,您可以在 Open API 定義的元件區段中定義整合。如需進一步了解,請參閱 x-amazon-apigateway-integrations 物件

"x-amazon-apigateway-integration": { "$ref": "#/components/x-amazon-apigateway-integrations/integration1" }

下列範例會建立與 Lambda 函數的整合。為了示範目的,假設下列範例中顯示responseTemplates的範例對應範本以requestTemplates及下列範例套用至下列JSON格式化的承載:{ "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} }以產生的JSON輸出{ "stage":"value_1", "user-id":"value_2" }或XML輸出。<stage>value_1</stage>

"x-amazon-apigateway-integration" : { "type" : "aws", "uri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:012345678901:function:HelloWorld/invocations", "httpMethod" : "POST", "credentials" : "arn:aws:iam::012345678901:role/apigateway-invoke-lambda-exec-role", "requestTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " }, "requestParameters" : { "integration.request.path.stage" : "method.request.querystring.version", "integration.request.querystring.provider" : "method.request.querystring.vendor" }, "cacheNamespace" : "cache namespace", "cacheKeyParameters" : [], "responses" : { "2\\d{2}" : { "statusCode" : "200", "responseParameters" : { "method.response.header.requestId" : "integration.response.header.cid" }, "responseTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " } }, "302" : { "statusCode" : "302", "responseParameters" : { "method.response.header.Location" : "integration.response.body.redirect.url" } }, "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" } } } }

請注意,對應範本中JSON字串的雙引號 (「) 必須是字串逸出 (\」)。