Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Oggetto di x-amazon-apigateway-integration
Specifica i dettagli dell'integrazione di back-end utilizzati per questo metodo. Questa estensione è una proprietà estesa dell'oggetto OpenAPI Operation
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
cacheKeyParameters |
Una matrice di string |
Elenco di parametri di richiesta i cui valori devono essere memorizzati nella cache. |
cacheNamespace |
string |
Un gruppo di API-specific tag con i relativi parametri memorizzati nella cache. |
connectionId |
string |
L'ID di a VpcLink per l'integrazione privata. |
connectionType |
string |
Il tipo di connessione dell'integrazione. Il valore valido è "VPC_LINK" per l'integrazione privata, in caso contrario, "INTERNET". |
credentials |
string |
Per le credenziali AWS IAM basate sui ruoli, specifica l'ARN di un ruolo IAM appropriato. Se non specificate, vengono utilizzate per impostazione predefinita le autorizzazioni basate su risorsa che devono essere aggiunte manualmente per consentire all'API di accedere alla risorsa. Per ulteriori informazioni, consulta l'argomento relativo alla concessione di autorizzazioni mediante una policy per le risorse. Nota: quando usi le credenziali IAM, assicurati che siano abilitati gli endpoint regionali AWS STS per la regione in cui questa API viene distribuita per ottenere le prestazioni migliori. |
contentHandling |
string |
Tipi di conversione per la codifica del payload delle richieste. Valori validi sono 1) CONVERT_TO_TEXT, per la conversione di un payload binario in una stringa con codifica base64 o per la conversione di un payload di testo in una stringa con codifica utf-8 o per passare il payload di testo in modo nativo senza modifica e 2) CONVERT_TO_BINARY, per la conversione di un payload di testo nel BLOB con decodifica base64 o per passare un payload binario in modo nativo senza modifica. |
httpMethod |
string |
Il metodo HTTP utilizzato nella richiesta di integrazione. Per le invocazioni della funzione Lambda, il valore deve essere POST. |
integrationSubtype |
string |
Specifica il sottotipo di integrazione per l'integrazione di un servizio. AWS Supportato solo per le API HTTP. Per i sottotipi di integrazione supportati, consulta Riferimento al sottotipo di integrazione. |
integrationTarget |
string |
Il listener ALB o NLB a cui inviare la richiesta. Supportato solo per le integrazioni private che utilizzano VPC Links V2. Per ulteriori informazioni, consulta Configura i collegamenti VPC V2 in API Gateway. |
passthroughBehavior |
string |
Specifica il modo in cui deve essere passato un payload di richiesta del tipo di contenuto non mappato attraverso la richiesta di integrazione senza modifiche. I valori supportati sono when_no_templates, when_no_match e never. Per ulteriori informazioni, consulta Integration.passthroughBehavior. |
payloadFormatVersion |
string |
Specifica il formato del payload inviato a un'integrazione. Richiesto per le API HTTP. Per le API HTTP, i valori supportati per le integrazioni proxy Lambda sono 1.0 e 2.0. Per tutte le altre integrazioni, 1.0 è l'unico valore supportato. Per ulteriori informazioni, consulta Crea integrazioni AWS Lambda proxy per HTTP APIs in API Gateway e Riferimento al sottotipo di integrazione. |
requestParameters |
Oggetto x-amazon-apigateway-integration.requestParameters | Per API REST, specifica le mappature dai parametri delle richieste dei metodi ai parametri delle richieste di integrazione. I parametri di richiesta supportati sono Per le API HTTP, i parametri di richiesta sono una mappa chiave-valore che specifica i parametri che vengono passati alle integrazioni |
requestTemplates |
Oggetto x-amazon-apigateway-integration.requestTemplates | I modelli di mappatura per un payload di richiesta dei tipi MIME specificati. |
responses |
Oggetto x-amazon-apigateway-integration.responses | Definisce le risposte di metodo e specifica le mappature di payload o dei parametri desiderate dalle risposte di integrazione alle risposte di metodo. |
responseTransferMode |
string |
La modalità di trasferimento delle risposte dell'integrazione. Si usa BUFFERED per fare in modo che API Gateway attenda di ricevere la risposta completa prima di iniziare la trasmissione. Si usa STREAM per fare in modo che API Gateway invii risposte parziali al client non appena sono disponibili. Per ulteriori informazioni, consulta Trasmetti in streaming la risposta di integrazione per le integrazioni proxy in API Gateway. |
timeoutInMillis |
integer |
Timeout di integrazione tra 50 ms e 29.000 ms. |
type |
string |
Il tipo di integrazione con il back-end specificato. I valori validi sono:
Per ulteriori informazioni sui tipi di integrazione, consulta integration:type. |
tlsConfig |
Oggetto x-amazon-apigateway-integration.tlsConfig | Specifica la configurazione TLS per un'integrazione. |
uri |
string |
L'URI dell'endpoint del back-end. Per le integrazioni del tipo aws, è un valore ARN. Per l'integrazione HTTP, è l'URL dell'endpoint HTTP che include lo schema https o http. |
Esempio di x-amazon-apigateway-integration
Per API HTTP, è possibile definire le integrazioni nella sezione componenti della definizione OpenAPI. Per ulteriori informazioni, consulta Oggetto x-amazon-apigateway-integrations.
"x-amazon-apigateway-integration": { "$ref": "#/components/x-amazon-apigateway-integrations/integration1" }
L'esempio seguente crea un'integrazione con una funzione Lambda. A scopo dimostrativo, si presume che i modelli di mappatura responseTemplates di esempio mostrati in requestTemplates e gli esempi seguenti si applichino al seguente JSON-formatted payload: per generare un output JSON o un {
"name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } output XML di. { "stage":"value_1", "user-id":"value_2" } <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'" } } } }
I doppi apici (") della stringa JSON nei modelli di mappatura devono includere il carattere di escape di stringa (\").