Configurazione di un'integrazione proxy mediante una risorsa proxy
Per configurare un'integrazione proxy in un'API di API Gateway mediante una risorsa proxy, completa le attività seguenti:
-
Crea una risorsa proxy con una variabile di percorso greedy
{
.proxy
+} -
Imposta il metodo
ANY
sulla risorsa proxy. -
Integra la risorsa e il metodo con un back-end utilizzando il tipo di integrazione HTTP o Lambda.
Nota
Anche se normalmente vengono utilizzati insieme, i metodi ANY
, i tipi di integrazione proxy e le variabili di percorso greedy sono caratteristiche indipendenti. È possibile configurare un metodo HTTP specifico per una risorsa greedy o applicare tipi di integrazione non proxy a una risorsa proxy.
In API Gateway la gestione dei metodi prevede restrizioni e limitazioni specifiche per entrambi tipi di integrazione proxy, Lambda e HTTP. Per informazioni dettagliate, consultare Note importanti Amazon API Gateway.
Nota
Quando si utilizza l'integrazione proxy con un passthrough, API Gateway restituisce l'intestazione Content-Type:application/json
di default, se non è specificato il tipo di contenuto di un payload.
Una risorsa proxy è più efficace se integrata con un back-end tramite l'integrazione proxy HTTP o l'integrazione proxy Lambda.
Integrazione proxy HTTP mediante una risorsa proxy
L'integrazione proxy HTTP, designata da HTTP_PROXY
nell'API REST API Gateway, consente di integrare una richiesta del metodo con un endpoint HTTP di back-end. Con questo tipo di integrazione, API Gateway si limita a trasferire richiesta e risposta complete tra il front-end e il back-end, seguendo restrizioni e limitazioni specifiche.
Nota
L'integrazione proxy HTTP supporta le intestazioni multi-valore e le stringhe di query.
Quando si applica l'integrazione proxy HTTP a una risorsa proxy, è possibile configurare l'API in modo che esponga una parte di un'intera gerarchia di endpoint del back-end HTTP con un'unica configurazione di integrazione. Supponi ad esempio che il back-end del sito Web sia organizzato in più rami dei nodi di struttura del nodo radice (/site
) come: /site/a0/a1/.../aN
, /site/b0/b1/.../bM
e così via. Se integri il metodo ANY
di una risorsa proxy /api/{proxy+}
con gli endpoint del back-end con percorsi URL /site/{proxy}
, una singola richiesta di integrazione può supportare qualsiasi operazione HTTP (GET, POST e così via) ovunque in [a0, a1, ...,
aN, b0, b1,
...bM, ...]
. Se invece applichi un'integrazione proxy a un metodo HTTP specifico, ad esempio GET
, la richiesta di integrazione risultante supporta le operazioni specificate (GET
) su qualsiasi nodo di back-end.
Integrazione proxy Lambda mediante una risorsa proxy
L'integrazione proxy Lambda, designata da AWS_PROXY
nell'API REST API Gateway, consente di integrare una richiesta del metodo con una funzione Lambda nel back-end. Con questo tipo di integrazione, API Gateway applica un modello di mappatura predefinito per inviare l'intera richiesta alla funzione Lambda e trasforma l'output di tale funzione in risposte HTTP.
Analogamente, puoi applicare l'integrazione proxy Lambda a una risorsa proxy di /api/{proxy+}
per configurare una sola integrazione e fare in modo che una funzione Lambda back-end reagisca individualmente alle modifiche apportate in una delle risorse API in /api
.