View a markdown version of this page

Oggetto di x-amazon-apigateway-integration - Gateway Amazon API

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. Il risultato è un oggetto di integrazione API Gateway.

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 querystring, path, header e body.

Per le API HTTP, i parametri di richiesta sono una mappa chiave-valore che specifica i parametri che vengono passati alle integrazioni AWS_PROXY con un valore specificato integrationSubtype. È possibile fornire valori statici o dati di richiesta di mappatura, variabili di stadio o variabili di contesto che vengono valutate in fase di esecuzione. Per ulteriori informazioni, consulta Crea integrazioni AWS di servizi per HTTP APIs in API Gateway.

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:

  • http o http_proxy, per l'integrazione con un back-end HTTP.

  • aws_proxy, per l'integrazione con le funzioni AWS Lambda.

  • aws, per l'integrazione con funzioni AWS Lambda o altri AWS servizi, come Amazon DynamoDB, Amazon Simple Notification Service o Amazon Simple Queue Service.

  • mock, per l'integrazione con API Gateway senza richiamare alcun back-end.

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 (\").