Casi d'uso di API Gateway
La seguente sezione dedicata ai casi d'uso presenta una panoramica dei diversi tipi di API di Gateway API e delle diverse tipologie di sviluppatori che utilizzano Gateway API. Per informazioni più dettagliate sulla differenza tra REST API e API HTTP, consulta Scelta tra REST API e API HTTP.
Argomenti
Utilizzo di API Gateway per creare API REST
Un'API REST API Gateway include risorse e metodi. Una risorsa è un'entità logica a cui un'app può accedere tramite un percorso della risorsa. Un metodo corrisponde a una richiesta API REST inviata dall'utente della tua API e alla risposta restituita all'utente.
Ad esempio, /incomes
potrebbe essere il percorso di una risorsa che rappresenta il reddito dell'utente dell'app. Una risorsa può avere una o più operazioni definite dai verbi HTTP adeguati, come GET, POST, PUT, PATCH e DELETE. La combinazione tra percorso della risorsa e operazione identifica un metodo dell'API. Ad esempio, un metodo POST /incomes
potrebbe aggiungere il reddito guadagnato dall'intermediario, mentre il metodo GET /expenses
potrebbe eseguire una query relativa alle spese indicate sostenute dall'intermediario.
Non è necessario che l'app sappia dove i dati vengono archiviati e prelevati sul back-end. Nelle API REST API Gateway, il front-end è incapsulato dalle richieste di metodo e dalle risposte di metodo. L'API si interfaccia con il back-end tramite le richieste di integrazione e le risposte di integrazione.
Ad esempio, con DynamoDB come back-end, lo sviluppatore di API configura la richiesta di integrazione per inoltrare la richiesta di metodo in entrata al back-end scelto. La configurazione include le specifiche di un'operazione DynamoDB adeguata, i ruoli e le policy IAM richiesti e la trasformazione necessaria dei dati di input. Il back-end restituisce il risultato ad API Gateway come risposta di integrazione.
Per instradare la risposta di integrazione a una risposta di metodo appropriata (di un determinato codice di stato HTTP) al client, puoi configurare la risposta di integrazione per mappare i parametri di risposta richiesti dall'integrazione al metodo. Quindi puoi trasformare il formato dei dati di output del back-end nel formato del front-end, se necessario. API Gateway consente di definire uno schema o modello per il payload
API Gateway fornisce le funzionalità di gestione delle API REST, ad esempio la seguente:
-
Supporto per la generazione di SDK e la creazione di documentazione API mediante estensioni API Gateway per OpenAPI
-
Throttling delle richieste HTTP
Utilizzo di API Gateway per creare API HTTP
Le API HTTP consentono di creare API RESTful con latenza minore e costi inferiori rispetto alle API REST.
È possibile utilizzare le API HTTP per inviare richieste alle funzioni AWS Lambda o a qualsiasi endpoint HTTP instradabile pubblicamente.
Ad esempio, puoi creare un'API HTTP che si integra con una funzione Lambda sul back-end. Quando un client chiama l'API, API Gateway invia la richiesta alla funzione Lambda e restituisce la risposta della funzione al client.
API HTTP supportano l'autorizzazione OpenID Connect
Per ulteriori informazioni, consulta Scelta tra REST API e API HTTP.
Utilizzo di API Gateway per creare API WebSocket
In un'API WebSocket, il client e il server possono entrambi scambiarsi messaggi in qualsiasi momento. I server di back-end possono eseguire facilmente il push dei dati agli utenti e ai dispositivi connessi, evitando la necessità di implementare complessi meccanismi di polling.
Ad esempio, puoi creare un'applicazione AWS Lambda senza server usando un'API WebSocket API Gateway e per inviare e ricevere messaggi da e verso i singoli utenti o gruppi di utenti in una chat room. In alternativa, puoi richiamare i servizi di back-end, ad esempio AWS Lambda, Amazon Kinesis o un endpoint HTTP in base al contenuto del messaggio.
Puoi usare le API WebSocket API Gateway per creare applicazioni per comunicazioni sicure e in tempo reale, senza dover effettuare il provisioning o la gestione dei server per gestire connessioni o scambi di dati su larga scala. I casi d'uso di riferimento includono applicazioni in tempo reale come le seguenti:
-
Applicazioni di chat
-
Pannelli di controllo in tempo reale, ad esempio ticker azionari
-
Avvisi e notifiche in tempo reale
API Gateway fornisce funzionalità di gestione delle API WebSocket, come le seguenti:
-
Monitoraggio e throttling di connessioni e messaggi
-
Utilizzo di AWS X-Ray per monitorare i messaggi durante il passaggio attraverso le API verso i servizi di back-end
-
Semplice integrazione con gli endpoint HTTP/HTTPS
Chi utilizza le API Gateway?
Esistono due tipi di sviluppatori che utilizzano API Gateway: gli sviluppatori di API e gli sviluppatori di app.
Uno sviluppatore di API crea e distribuisce un'API per abilitare la funzionalità richiesta in API Gateway. Lo sviluppatore dell'API deve essere un utente nell'account AWS a cui appartiene l'API.
Uno sviluppatore di app crea un'applicazione funzionante per chiamare i servizi AWS invocando un'API WebSocket o REST creata da uno sviluppatore di API in API Gateway.
Lo sviluppatore di app è il cliente dello sviluppatore di API. Lo sviluppatore di app non ha bisogno di un account AWS, a condizione che l'API non richieda le autorizzazioni IAM o supporti l'autorizzazione di utenti tramite provider di identità federati di terze parti supportati dalla federazione delle identità del bacino d'utenza di Amazon Cognito. Tra i provider di identità figurano Amazon, pool di utenti Amazon Cognito, Facebook e Google.
Creazione e gestione di un'API di API Gateway
Uno sviluppatore di API lavora con la componente del servizio API Gateway per la gestione delle API, denominata apigateway
, per creare, configurare e distribuire un'API.
In qualità di sviluppatore di API, puoi creare e gestire un'API utilizzando la console API Gateway, descritta in Nozioni di base su Gateway API o chiamando il Riferimenti API. Sono disponibili diversi modi per chiamare questa API. Includono l'uso di AWS Command Line Interface (AWS CLI) o mediante un SDK AWS. Inoltre, puoi abilitare la creazione di API con modelli AWS CloudFormation o (per le API REST e le API HTTP) Estensioni OpenAPI per Gateway API.
Per un elenco di regioni in cui API Gateway è disponibile, compresi gli endpoint del servizio di controllo associati, consulta Endpoint e quote Amazon API Gateway.
Chiamare un'API di API Gateway
Uno sviluppatore di app lavora con la componente del servizio API Gateway per l'esecuzione dell'API, denominata execute-api
, per chiamare un'API creata o distribuita in API Gateway. Le entità di programmazione sottostanti vengono esposte dall'API creata. Sono disponibili diversi modi per chiamare questa API. Per ulteriori informazioni, consulta Invocazione di REST API in Gateway API e Invocazione delle API WebSocket.