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à.
Integra Amazon API Gateway con Amazon SQS per gestire REST asincrono APIs
Creato da Natalia Colantonio Favero (AWS) e Gustavo Martim (AWS)
Riepilogo
Quando si distribuisce REST APIs, a volte è necessario esporre una coda di messaggi che le applicazioni client possono pubblicare. Ad esempio, potreste avere problemi con la latenza di terze parti APIs e i ritardi nelle risposte, oppure potreste voler evitare i tempi di risposta delle query del database o evitare il ridimensionamento del server quando il numero di richieste simultanee è elevato. APIs In questi scenari, le applicazioni client che pubblicano nella coda devono solo sapere che l'API ha ricevuto i dati, non cosa accade dopo la ricezione dei dati.
Questo modello crea un endpoint API REST utilizzando Amazon API Gateway
Prerequisiti e limitazioni
Architettura

Il diagramma illustra questi passaggi:
Richiedi un endpoint dell'API POST REST utilizzando uno strumento come Postman, un'altra API o altre tecnologie.
API Gateway pubblica un messaggio, che viene ricevuto nel corpo della richiesta, sulla coda.
Amazon SQS riceve il messaggio e invia una risposta ad API Gateway con un codice di successo o di errore.
Strumenti
Amazon API Gateway ti aiuta a creare, pubblicare, gestire, monitorare e proteggere REST, HTTP e WebSocket APIs su qualsiasi scala.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
Amazon Simple Queue Service (Amazon SQS) fornisce una coda ospitata sicura, durevole e disponibile che ti aiuta a integrare e disaccoppiare sistemi e componenti software distribuiti.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea una coda. | Per creare una coda SQS che riceva i messaggi dall'API REST:
| Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un ruolo IAM. | Questo ruolo IAM offre alle risorse API Gateway l'accesso completo ad Amazon SQS.
| Sviluppatore di app, amministratore AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un'API REST. | Questa è l'API REST a cui vengono inviate le richieste HTTP.
| Sviluppatore di app |
Connetti API Gateway ad Amazon SQS. | Questo passaggio consente al messaggio di fluire dall'interno del corpo della richiesta HTTP ad Amazon SQS.
| Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Prova l'API REST. | Esegui un test per verificare la configurazione mancante:
| Sviluppatore di app |
Modifica l'integrazione dell'API per inoltrare correttamente la richiesta ad Amazon SQS. | Completa la configurazione per correggere l'errore di integrazione:
| Sviluppatore di app |
Testa e convalida il messaggio in Amazon SQS. | Esegui un test per confermare che il test è stato completato con successo:
| Sviluppatore di app |
Prova API Gateway con un carattere speciale. | Esegui un test che includa caratteri speciali (come &) che non sono accettabili in un messaggio:
Questo perché i caratteri speciali non sono supportati per impostazione predefinita nel corpo del messaggio. Nel passaggio successivo, configurerai API Gateway per supportare i caratteri speciali. Per ulteriori informazioni sulle conversioni dei tipi di contenuto, consulta la documentazione di API Gateway. | Sviluppatore di app |
Modifica la configurazione dell'API per supportare i caratteri speciali. | Modifica la configurazione per accettare caratteri speciali nel messaggio:
Il nuovo messaggio deve includere il carattere speciale. | Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Implementa l'API. |
Per distribuire l'API REST:
| Sviluppatore di app |
Esegui il test con uno strumento esterno. | Esegui un test con uno strumento esterno per confermare che il messaggio sia stato ricevuto correttamente:
| Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Eliminare l'API. | Nella console API Gateway | Sviluppatore di app |
Elimina il ruolo IAM. | Sulla console IAM | Sviluppatore di app |
Elimina la coda SQS. | Sulla console Amazon SQS | Sviluppatore di app |
Risorse correlate
SQS- SendMessage (documentazione API Gateway)
Conversioni dei tipi di contenuto in API Gateway (documentazione API Gateway)
variabili $util (documentazione API Gateway)
Come posso integrare un'API REST di API Gateway con Amazon SQS e risolvere gli errori più comuni?
(AWS Re:post articolo)