Come posso risolvere gli errori di connessione dell'API WebSocket del Gateway API?

Ultimo aggiornamento: 17/11/2022

Ho provato a connettermi alla mia API WebSocket del Gateway Amazon API ma ho ricevuto degli errori. Come posso risolvere i problemi relativi alla mia connessione API WebSocket?

Breve descrizione

Gli errori di connessione dell'API WebSocket del Gateway API possono verificarsi a causa di:

  • Autorizzazioni insufficienti per effettuare la richiesta al backend
  • Campi errati per l'ID API, la Regione AWS e la fase API
  • Errori nell'integrazione del backend
  • Errori di autenticazione di AWS Identity and Access Management (IAM)

Risoluzione

Segui questi passaggi di risoluzione dei problemi per il tuo caso d'uso.

Verifica che l'API WebSocket disponga delle autorizzazioni necessarie per effettuare una richiesta al backend

Il Gateway API utilizza ruoli IAM, politiche, tag e sistemi di autorizzazione AWS Lambda per controllare l'accesso a un'API WebSocket. Per ulteriori informazioni, consulta Controllo e gestione dell'accesso a un'API WebSocket nel Gateway API.

Inoltre, assicurati che la richiesta di integrazione dell'API WebSocket sia configurata correttamente.

Verifica che la richiesta sia stata inviata all'ID API, alla Regione AWS e alla fase API corretti

In questo esempio di URL di richiesta, assicurati che i seguenti campi siano corretti:

wss://a1b2c3d4e5.execute-api.us-east-1.amazonaws.com/production
  • L'ID API WebSocket "a1b2c3d4e5".
  • La Regione AWS "us-east-1".
  • Il nome della fase API "production" esiste.

Controlla la presenza di errori nei log di CloudWatch

Segui le istruzioni per attivare i file di log di Amazon CloudWatch per la risoluzione dei problemi delle API WebSocket del Gateway API. Se una funzione Lambda è integrata per il backend, controlla la presenza di errori nei log di CloudWatch. Per ulteriori informazioni, consulta Accedere ai log di CloudWatch per AWS Lambda.

Conferma che la richiesta API sia firmata se l'autenticazione IAM è attiva per il metodo API

Se l'autenticazione IAM è attiva, assicurati che la richiesta API sia firmata con Signature Version 4 (SigV4). Per maggiori informazioni, consulta Firma delle richieste AWS con Signature Version 4.

Per attivare l'autenticazione IAM per la tua API del Gateway API, segui questi passaggi:

  1. Nella console API Gateway, scegli il nome della tua API.
  2. Nel riquadro Resources (Risorse), scegli un metodo (ad esempio GET o POST) per il quale desideri attivare l'autenticazione IAM.
  3. Nel riquadro Method Execution (Esecuzione del metodo), seleziona Method Request (Richiesta del metodo).
  4. In Settings (Impostazioni), per Authorization (Autorizzazione), scegli l'icona a forma di matita Edit (Modifica). Scegli AWS_IAM dall'elenco a discesa, quindi scegli l'icona del segno di spunta Update (Aggiorna).
  5. (Facoltativo) Ripeti i passaggi da 2 a 4 per ogni metodo API per cui desideri attivare l'autenticazione IAM.
  6. Implementa la tua API WebSocket per rendere effettive le modifiche.