Configurazione di risposte di integrazione WebSocket API in API Gateway - 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à.

Configurazione di risposte di integrazione WebSocket API in API Gateway

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 analogo alle risposte di integrazione per le API REST.

  • Se una route è configurata per la comunicazione unidirezionale, indipendentemente da qualsiasi configurazione di 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 Configurare le risposte di routing per un' WebSocket API 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:

  1. Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Scegli la tua WebSocket API e scegli il tuo percorso.

  3. Scegli la scheda Richiesta di integrazione, quindi seleziona Crea risposta di integrazione nella sezione Impostazioni della risposta di integrazione.

  4. 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.

  5. Per Espressione di selezione del modello immetti un'espressione di selezione per valutare il messaggio in uscita.

  6. Scegli Crea risposta.

  7. È inoltre possibile definire un modello di mappatura per configurare le trasformazioni del payload dei messaggi restituiti. Scegli Crea modello.

  8. Immettere un nome per la chiave. Se è stata scelta l'espressione di selezione del modello predefinita, immettere\$default.

  9. Per Modello della risposta immetti il modello di mappatura nell'editor di codice.

  10. Scegli Crea modello.

  11. Scegli Implementa API per implementare l'API.

Per connettersi all'API, utilizzare il seguente comando wscat. Per ulteriori informazioni su wscat, 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

Per impostare una risposta di integrazione per un' WebSocket API utilizzando il create-integration-responsecomando AWS CLI call the. Il seguente comando CLI mostra un esempio di creazione di una risposta di integrazione $default:

aws apigatewayv2 create-integration-response \ --api-id vaz7da96z6 \ --integration-id a1b2c3 \ --integration-response-key '$default'