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à.
x-amazon-apigateway-integration oggetto
Specifica i dettagli dell'integrazione di back-end utilizzati per questo metodo. Questa estensione è una proprietà estesa dell'oggetto Open API 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 API di tag specifico di parametri correlati memorizzati nella cache. |
connectionId |
string |
L'ID di a VpcLinkper 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 il ruolo ARN appropriato. IAM Se non specificato, per impostazione predefinita, le credenziali sono autorizzazioni basate sulle risorse che devono essere aggiunte manualmente per consentire loro di accedere alla risorsa. API Per ulteriori informazioni, consulta l'argomento relativo alla concessione di autorizzazioni mediante una policy per le risorse. Nota: quando usi IAM le credenziali, assicurati che gli endpoint AWS STS regionali siano abilitati per la regione in cui vengono distribuite per ottenere prestazioni ottimali. API |
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 HTTP metodo utilizzato nella richiesta di integrazione. Per le invocazioni della funzione Lambda, il valore deve essere POST . |
integrationSubtype |
string |
Speciifica il sottotipo di integrazione per l'integrazione di un AWS servizio. Supportato solo per. HTTP APIs Per i sottotipi di integrazione supportati, consulta Riferimento al sottotipo di integrazione. |
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 Integrazione. passthroughBehavior. |
payloadFormatVersion |
string |
Specifica il formato del payload inviato a un'integrazione. Necessario per HTTPAPIs. Infatti HTTPAPIs, i valori supportati per le integrazioni del proxy Lambda sono e. 1.0 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 |
x-amazon-apigateway-integration. requestParameters oggetto | For RESTAPIs, specifica le mappature dai parametri di richiesta del metodo ai parametri della richiesta di integrazione. I parametri di richiesta supportati sono Infatti HTTPAPIs, i parametri di richiesta sono una mappa chiave-valore che specifica i parametri che vengono passati alle integrazioni con un valore specificato. |
requestTemplates |
x-amazon-apigateway-integration. requestTemplates oggetto | Modelli di mappatura per un payload di richieste di tipi specifici. MIME |
responses |
x-amazon-apigateway-integrationoggetto.response | Definisce le risposte di metodo e specifica le mappature di payload o dei parametri desiderate dalle risposte di integrazione alle risposte di metodo. |
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 |
x-amazon-apigateway-integration. tlsConfig oggetto | Specifica la TLS configurazione per un'integrazione. |
uri |
string |
L'endpoint URI del backend. Per integrazioni di questo aws tipo, questo è un valore. ARN Per l'HTTPintegrazione, si tratta URL dell'HTTPendpoint che include lo schema https orhttp . |
x-amazon-apigateway-integration esempi
Infatti HTTPAPIs, puoi definire le integrazioni nella sezione componenti della tua API definizione aperta. Per ulteriori informazioni, consulta x-amazon-apigateway-integrations oggetto.
"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 negli esempi seguenti si applichino al seguente JSON payload in formato: {
"name":"value_1", "key":"value_2", "redirect": {"url" :"..."} }
per generare un JSON output di o un output di. { "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'
" } } } }
Nota che le virgolette doppie («) per la JSON stringa nei modelli di mappatura devono essere string-escape (\»).