本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
x-amazon-apigateway-integration 物件
指定用於此方法的後端整合詳細資訊。這個擴展是打開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_templates 、when_no_match 和 never 。如需詳細資訊,請參閱整合。 passthroughBehavior。 |
payloadFormatVersion |
string |
為傳送至整合的承載指定格式。所需的 HTTPAPIs. 對於 HTTPAPIs,Lambda 代理整合支援的值為1.0 和2.0 。對於所有其他整合,1.0 是唯一支援的值。如需進一步了解,請參閱HTTPAPIs在API閘道中建立 AWS Lambda 代理整合和整合子類型參照。 |
requestParameters |
x-amazon-apigateway-integration。 requestParameters 物件 | 對於 RESTAPIs,指定從方法要求參數到整合要求參數的對應。支援的請求參數為 對於 HTTPAPIs,請求參數是一個鍵-值映射,指定傳遞給具有指 |
requestTemplates |
x-amazon-apigateway-integration。 requestTemplates 物件 | 對應指定MIME類型之要求承載的範本。 |
responses |
x-amazon-apigateway-integration. 回應物件 | 定義方法的回應,並指定從整合回應到方法回應所需的參數對應或承載對應。 |
timeoutInMillis |
integer |
整合逾時,介於 50 毫秒到 29,000 毫秒之間。 |
type |
string |
與指定後端整合的類型。有效的 值如下:
如需整合類型的詳細資訊,請參閱 integration:type。 |
tlsConfig |
x-amazon-apigateway-integration。 tlsConfig 物件 | 指TLS定整合的組態。 |
uri |
string |
後端URI的端點。對於aws 類型的集成,這是一個ARN值。對於HTTP整合,這是包括https 或http 配置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字串的雙引號 (「) 必須是字串逸出 (\」)。