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à.
Configurare una risposta di integrazione WebSocket API in API Gateway
La sezione seguente fornisce una breve panoramica delle risposte di integrazione per l' WebSocket API e su come impostare una risposta di integrazione per un' WebSocket API.
Argomenti
Panoramica delle risposte di integrazione
La risposta di integrazione di API Gateway è un metodo di creazione di modelli e di manipolazione della risposta da un servizio di back-end. Esistono alcune differenze nella configurazione di un'API REST rispetto a una risposta di integrazione WebSocket API, ma concettualmente il comportamento è lo stesso.
WebSocket le rotte possono essere configurate per la comunicazione bidirezionale o unidirezionale.
-
Quando una route è configurata per la comunicazione bidirezionale, una risposta di integrazione consente di configurare le trasformazioni sul payload del messaggio restituito, in modo simile alle risposte di integrazione per REST. APIs
-
Se una route è configurata per la comunicazione unidirezionale, indipendentemente dalla configurazione della risposta di integrazione, non verrà restituita alcuna risposta sul WebSocket canale dopo l'elaborazione del messaggio.
API Gateway non trasferisce la risposta del back-end alla risposta di instradamento, a meno che non venga configurata una risposta di instradamento. Per informazioni sull'impostazione di una risposta di instradamento, consultare Imposta le risposte di routing per WebSocket APIs in API Gateway.
Risposte di integrazione per la comunicazione bidirezionale
Le integrazioni possono essere divise in integrazioni proxy e integrazioni non proxy.
Importante
Per le integrazioni proxy, API Gateway trasferisce automaticamente l'output del back-end all’intermediario come payload completo. Non esiste alcuna risposta di integrazione.
Per integrazioni non proxy, è necessario configurare almeno una risposta di integrazione:
-
Idealmente, una delle risposte di integrazione deve agire come un metodo catch-all quando non è possibile effettuare una scelta esplicita. Questo caso predefinito viene rappresentato impostando una chiave di risposta di integrazione di
$default
. -
In tutti gli altri casi, la chiave di risposta di integrazione funziona come un'espressione regolare. Il formato adottato è
"/expression/"
.
Per integrazioni HTTP non proxy:
-
API Gateway tenterà di trovare una corrispondenza con il codice di stato HTTP della risposta di back-end. In questo caso, la chiave di risposta di integrazione funzionerà come un'espressione regolare. Se non è possibile trovare una corrispondenza, viene scelta
$default
come risposta di integrazione. -
L'espressione di selezione del modello, come descritto in precedenza, funziona in modo identico. Ad esempio:
-
/2\d\d/
: ricevi e trasforma risposte andate a buon fine -
/4\d\d/
: ricevi e trasforma errori di richiesta non valida -
$default
: ricevi e trasforma tutte le risposte impreviste
-
Per ulteriori informazioni sulle espressioni di selezione del modello, consultare Espressioni di selezione del modello.
Configurazione di una risposta di integrazione mediante la console API Gateway
Per configurare una risposta di integrazione del percorso per un' WebSocket API utilizzando la console API Gateway:
-
Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.
-
Scegli la tua WebSocket API e scegli il tuo percorso.
-
Scegli la scheda Richiesta di integrazione, quindi seleziona Crea risposta di integrazione nella sezione Impostazioni della risposta di integrazione.
-
Per Chiave della risposta inserisci un valore che verrà individuato nella chiave della risposta del messaggio in uscita dopo aver valutato l'espressione di selezione di risposta. Ad esempio, puoi inserire
/4\d\d/
per ricevere e trasformare gli errori di richiesta non valida o$default
per ricevere e trasformare tutte le risposte che corrispondono all'espressione di selezione del modello. -
Per Espressione di selezione del modello immetti un'espressione di selezione per valutare il messaggio in uscita.
-
Scegli Crea risposta.
È inoltre possibile definire un modello di mappatura per configurare le trasformazioni del payload dei messaggi restituiti. Scegli Crea modello.
Immettere un nome per la chiave. Se è stata scelta l'espressione di selezione del modello predefinita, immettere
\$default
.-
Per Modello della risposta immetti il modello di mappatura nell'editor di codice.
-
Scegli Crea modello.
-
Scegli Implementa API per implementare l'API.
Per connettersi all'API, utilizzare il seguente comando wscatwscat
, consulta Utilizzalo wscat per connetterti a un' WebSocket API e inviarle messaggi.
wscat -c wss://
api-id
.execute-api.us-east-2
.amazonaws.com/test
Quando viene richiamato l'instradamento, dovrebbe venire restituito il payload del messaggio restituito.
Imposta una risposta di integrazione utilizzando il AWS CLI
Il create-integration-responsecomando seguente crea una risposta di $default
integrazione:
aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'