Nozioni di base su Gateway API
In questo esercizio di nozioni di base, viene creata un'API serverless. Le API serverless consentono di concentrarsi sulle applicazioni, invece di dedicare tempo al provisioning e alla gestione dei server. Il completamento di questo esercizio richiede meno di 20 minuti e può essere effettuato all'interno del piano gratuito AWS
Innanzitutto, viene creata una funzione Lambda utilizzando la console AWS Lambda. Successivamente, è possibile creare un'API HTTP utilizzando la console API Gateway. Quindi, viene richiamata l'API.
Nota
In questo esercizio si utilizza un'API HTTP. API Gateway supporta anche le API REST, che includono più funzionalità. Per un tutorial sull'utilizzo di una REST API, consulta Nozioni di base sulla console REST API.
Per ulteriori informazioni sulla differenza tra API HTTP e REST API, consulta Scelta tra REST API e API HTTP.
Quando si richiama l'API HTTP, API Gateway instrada la richiesta alla funzione Lambda. Lambda esegue la funzione Lambda e restituisce una risposta alla console API Gateway. La console API Gateway restituisce quindi una risposta all'utente.

Per completare questo esercizio, sono necessari un account AWS e un utente AWS Identity and Access Management con accesso alla console. Per ulteriori informazioni, consulta Configurazione per l'utilizzo di Gateway API.
Argomenti
Fase 1: creazione di una funzione Lambda
Viene utilizzata una funzione Lambda per il backend della tua API. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo.
Per questo esempio, viene utilizzata la funzione Node.js predefinita dalla console Lambda.
Per creare una funzione Lambda
Accedere alla console Lambda all'indirizzo https://console.aws.amazon.com/lambda/
. -
Selezionare Create function (Crea funzione).
-
Nel campo Function name (Nome funzione), immettere
my-function
. Utilizza le impostazioni predefinite per tutte le altre opzioni.
-
Selezionare Create function (Crea funzione).
La funzione di esempio restituisce una risposta 200
ai client e il testo Hello from
Lambda!
.
È possibile modificare la funzione Lambda, purché la risposta della funzione si allinei al formato richiesto da API Gateway.
Il codice predefinito della funzione Lambda dovrebbe essere simile al seguente:
export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };
Fase 2: creazione un'API HTTP
Successivamente, viene creata un'API HTTP. La console API Gateway supporta anche API REST e API WebSocket, ma un'API HTTP è la scelta migliore per questo esercizio. Le API REST supportano più funzionalità rispetto alle API HTTP, ma non sono necessarie per questo esercizio. Le API HTTP sono progettate con funzionalità minime in modo che possano essere offerte a un prezzo inferiore. Le API WebSocket mantengono connessioni persistenti con i client per la comunicazione full-duplex, che non è necessaria per questo esempio.
L'API HTTP fornisce un endpoint HTTP per la funzione Lambda. API Gateway instrada le richieste alla funzione Lambda e quindi restituisce la risposta della funzione ai client.
Per creare un'API HTTP
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegliere una delle seguenti operazioni:
-
Per creare la prima API, per l'API HTTP, scegliere Crea.
-
Se hai già creato un'API, scegliere Crea API, quindi scegliere Crea per API HTTP.
-
-
Per Integrazioni, scegliere Aggiungi integrazione.
-
Selezionare Lambda.
-
Per Lambda function (Funzione Lambda), immetti
my-function
. -
Per API name (Nome API), immettere
my-http-api
. -
Seleziona Next (Successivo).
-
Esaminare la route creata da API Gateway e quindi scegliere Avanti.
-
Esaminare la fase creata da Gateway API e quindi scegliere Avanti.
-
Seleziona Crea.
Ora hai creato un'API HTTP con un'integrazione Lambda che è pronta a ricevere richieste dai client.
Fase 3: test dell'API
Successivamente, viene verificata l'API per assicurarsi che funzioni. Per semplicità, usa un browser Web per richiamare l'API.
Per testare l'API
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. Scegliere l'API.
-
Prendere nota del valore URL di chiamata per l'API.
-
Copiare il valore URL di chiamata per l'API e inserirlo in un browser Web. Aggiungere il nome della tua funzione Lambda al valore URL di chiamata per chiamare la tua funzione Lambda. Per impostazione predefinita, la console Gateway API crea un percorso con lo stesso nome della funzione Lambda,
my-function
.L'URL completo dovrebbe essere del tipo
https://
.abcdef123
.execute-api.us-east-2
.amazonaws.com/my-function
Il tuo browser invia una richiesta
GET
all'API. -
Verifica la risposta dell'API. Il testo
"Hello from Lambda!"
dovrebbe essere visualizzato nel browser in uso.
(Opzionale) Fase 4: pulizia
Per evitare costi non necessari, eliminare le risorse create nell'ambito di questo esercizio di nozioni di base. La procedura seguente elimina l'API HTTP, la funzione Lambda e le risorse associate.
Per eliminare un'API HTTP
Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Nella pagina API, selezionare un'API. Scegli Azioni, quindi Elimina.
-
Scegliere Delete (Elimina).
Per eliminare una funzione Lambda
Accedere alla console Lambda all'indirizzo https://console.aws.amazon.com/lambda/
. -
Nella pagina Funzioni, selezionare una funzione. Scegli Azioni, quindi Elimina.
-
Scegliere Delete (Elimina).
Per eliminare il gruppo di log di una funzione Lambda
-
Nella console Amazon CloudWatch, apri la pagina Log Groups (Gruppi di log)
. -
Nella pagina Log Groups (Gruppi di log), seleziona il gruppo di log della funzione (
/aws/lambda/my-function
). Scegliere Actions (Operazioni), quindi selezionare Delete log group (Elimina gruppo di log). -
Scegliere Delete (Elimina).
Per eliminare il ruolo di esecuzione di una funzione Lambda
-
Apri la pagina dei ruoli
nella console AWS Identity and Access Management. -
Seleziona il ruolo della funzione, ad esempi,
my-function-
.31exxmpl
-
Scegliere Delete role (Elimina ruolo).
-
Scegliere Yes, delete (Sì, elimina).
È possibile automatizzare la creazione e la pulizia delle risorse AWS utilizzando AWS CloudFormation o AWS SAM. Per un esempio dei modelli AWS CloudFormation, consulta i modelli di esempio AWS CloudFormation
Fasi successive
Per questo esempio, è stato utilizzato AWS Management Console per creare una semplice API HTTP. L'API HTTP richiama una funzione Lambda e restituisce una risposta ai client.
Di seguito, sono riportate le fasi successive quando si continua a lavorare con API Gateway.
Per ricevere assistenza su Amazon API Gateway dalla community, consulta il forum di discussione di API Gateway
Per ottenere assistenza su API Gateway direttamente da AWS, consulta le opzioni di supporto nella pagina di supporto AWS
Consulta anche le nostre domande frequenti (FAQ)