x-amazon-apigateway-integration oggetto - Amazon API Gateway

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

Proprietà
Nome proprietà Tipo Descrizione
cacheKeyParameters Una matrice di string Elenco di parametri di richiesta i cui valori devono essere memorizzati nella cache.
cacheNamespace string Gruppo di tag specifici dell'API 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 basate sui ruoli AWS IAM, 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 Speciifica 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.
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 Utilizzo delle integrazioni proxy AWS Lambda per le API HTTP e Riferimento al sottotipo di integrazione.
requestParameters x-amazon-apigateway-integration.oggetto 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 Utilizzo delle integrazioni del servizio AWS per le API HTTP.

requestTemplates x-amazon-apigateway-integration.oggetto RequestTemplates I modelli di mappatura per un payload di richiesta dei tipi MIME specificati.
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:

  • 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 x-amazon-apigateway-integrationOggetto .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.

x-amazon-apigateway-integration esempi

Per API HTTP, è possibile definire le integrazioni nella sezione componenti della definizione OpenAPI. 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 presuppone che i modelli di mappatura di esempio mostrati in requestTemplates e responseTemplates negli esempi sotto si applichino al seguente payload con formattazione JSON: { "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } per generare l'output JSON { "stage":"value_1", "user-id":"value_2" } o l'output 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'" } } } }

I doppi apici (") della stringa JSON nei modelli di mappatura devono includere il carattere di escape di stringa (\").