Panoramica di WebSocket APIs 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à.

Panoramica di WebSocket APIs in API Gateway

In API Gateway è possibile creare un frontend WebSocket API come stateful per un AWS servizio (come Lambda o DynamoDB) o per un endpoint. HTTP WebSocket APIRichiama il backend in base al contenuto dei messaggi che riceve dalle app client.

A differenza di a RESTAPI, che riceve e risponde alle richieste, a WebSocket API supporta la comunicazione bidirezionale tra le app client e il backend. Il back-end può inviare messaggi di callback a client connessi.

Nella tua app WebSocket API, i JSON messaggi in arrivo vengono indirizzati alle integrazioni di backend in base ai percorsi che configuri. (I non JSON messaggi vengono indirizzati a un $default percorso configurato dall'utente).

Una route include una chiave di route, che è il valore previsto dopo che un'espressione di selezione della route è stata valutata. routeSelectionExpressionÈ un attributo definito a API livello. Specifica una JSON proprietà che dovrebbe essere presente nel payload del messaggio. Per ulteriori informazioni sulle espressioni di selezione della route, consulta Espressioni di selezione dell'instradamento.

Ad esempio, se i JSON messaggi contengono una action proprietà e si desidera eseguire azioni diverse in base a questa proprietà, l'espressione di selezione del percorso potrebbe essere. ${request.body.action} La tabella di routing specifica quale operazione eseguire abbinando il valore della proprietà action ai valori delle chiavi route personalizzate definiti nella tabella.

Usa i percorsi per un WebSocket API

Esistono tre route predefinite che possono essere utilizzate: $connect, $disconnect e $default. Inoltre, puoi creare route personalizzate.

  • APIGateway chiama la $connect route quando viene avviata una connessione persistente tra il client e a. WebSocket API

  • APIGateway chiama il $disconnect percorso quando il client o il server si disconnette da. API

  • APIGateway chiama una route personalizzata dopo che l'espressione di selezione della rotta è stata valutata rispetto al messaggio se viene trovata una route corrispondente; la corrispondenza determina quale integrazione viene richiamata.

  • APIGateway chiama la $default route se l'espressione di selezione della rotta non può essere valutata rispetto al messaggio o se non viene trovata alcuna route corrispondente.

Per ulteriori informazioni sulle route $connect e $disconnect, consulta Gestisci gli utenti connessi e le app client: $connect e $disconnect i percorsi.

Per ulteriori informazioni sulla route $default e le route personalizzate, consulta Richiama l'integrazione del backend con $default Route e i percorsi personalizzati in Gateway API.

Invia dati alle app client connesse

I servizi di back-end possono inviare dati alle app client connesse. Puoi inviare dati effettuando le seguenti operazioni:

  • Utilizzate un'integrazione per inviare una risposta, che viene restituita al client da una risposta di percorso che avete definito.

  • Puoi usare il @connections API per inviare una POST richiesta. Per ulteriori informazioni, consulta Utilizzo di comandi @connections nel servizio di back-end.