

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à.

# Nozioni di base su Gateway API
<a name="getting-started"></a>

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](https://aws.amazon.com/free/).

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](getting-started-rest-new-console.md).  
Per ulteriori informazioni sulla differenza tra API HTTP e REST API, consulta [Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md).

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.

![\[Panoramica dell'API HTTP creata in questo tutorial.\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/getting-started-overview.png)


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](setting-up.md).

**Topics**
+ [Fase 1: creazione di una funzione Lambda](#getting-started-create-function)
+ [Fase 2: creazione un'API HTTP](#getting-started-create-api)
+ [Fase 3: test dell'API](#getting-started-invoke-api)
+ [(Opzionale) Fase 4: pulizia](#getting-started-cleanup)
+ [Fasi successive](#getting-started-next-steps)

## Fase 1: creazione di una funzione Lambda
<a name="getting-started-create-function"></a>

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**

1. Accedere alla console Lambda all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda).

1. Selezionare **Create function (Crea funzione)**.

1. Nel campo **Function name (Nome funzione)**, immettere **my-function**.

1. Utilizza le impostazioni predefinite per tutte le altre opzioni.

1. 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](http-api-develop-integrations-lambda.md#http-api-develop-integrations-lambda.response).

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
<a name="getting-started-create-api"></a>

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**

1. Accedere alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. 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**.

1. Per **Integrazioni**, scegliere **Aggiungi integrazione**.

1. Selezionare **Lambda**.

1. Per **Lambda function (Funzione Lambda)**, immetti **my-function**.

1. Per **API name (Nome API)**, immettere **my-http-api**.

1. Scegli **Next (Successivo)**.

1. Esaminare la *route* creata da API Gateway e quindi scegliere **Avanti**.

1. Esaminare la *fase* creata da Gateway API e quindi scegliere **Avanti**.

1. Seleziona **Crea**.

Ora hai creato un'API HTTP con un'integrazione Lambda che è pronta a ricevere richieste dai client.

## Fase 3: test dell'API
<a name="getting-started-invoke-api"></a>

Successivamente, viene verificata l'API per assicurarsi che funzioni. Per semplicità, usa un browser Web per richiamare l'API.

**Per testare l'API**

1. Accedere alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Scegliere l'API.

1. Prendere nota del valore URL di chiamata per l'API.  
![\[Dopo aver creato l'API, la console mostra il valore URL di chiamata per l'API.\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/getting-started-invoke-url.png)

1. 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.

1. Verifica la risposta dell'API. Il testo `"Hello from Lambda!"` dovrebbe essere visualizzato nel browser in uso.

## (Opzionale) Fase 4: pulizia
<a name="getting-started-cleanup"></a>

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**

1. Accedere alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Nella pagina **API**, selezionare un'API. Scegli **Azioni**, quindi **Elimina**.

1. Scegliere **Delete (Elimina)**.

**Per eliminare una funzione Lambda**

1. Accedere alla console Lambda all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda).

1. Nella pagina **Funzioni**, selezionare una funzione. Scegli **Azioni**, quindi **Elimina**.

1. Scegliere **Delete (Elimina)**.

**Per eliminare il gruppo di log di una funzione Lambda**

1. Nella console Amazon CloudWatch, apri la [pagina Log Groups (Gruppi di log)](https://console.aws.amazon.com/cloudwatch/home#logs:).

1. 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)**.

1. Scegliere **Delete (Elimina)**.

**Per eliminare il ruolo di esecuzione di una funzione Lambda**

1. Apri la [pagina dei ruoli](https://console.aws.amazon.com/iam/home?#/roles) nella console AWS Identity and Access Management.

1. Seleziona il ruolo della funzione, ad esempi, `my-function-31exxmpl`.

1. Scegliere **Delete role (Elimina ruolo)**.

1. Scegliere **Yes, delete (Sì, elimina)**.

È possibile automatizzare la creazione e la pulizia delle risorse AWS utilizzando CloudFormation o AWS SAM. Per un esempio dei modelli CloudFormation, consulta i [modelli di esempio CloudFormation](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates).

## Fasi successive
<a name="getting-started-next-steps"></a>

Per questo esempio, è stato utilizzato Console di gestione AWS 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.
+ [Configurare altri tipi di integrazioni API,](http-api-develop-integrations.md) tra cui:
  + [Endpoint HTTP](http-api-develop-integrations-http.md)
  + [Risorse private in un VPC, come i servizi Amazon ECS](http-api-develop-integrations-private.md)
  + [AWS Servizi, come Amazon Simple Queue Service, AWS Step Functions e Kinesis Data Streams](http-api-develop-integrations-aws-services.md)
+ [Controllare l'accesso alle API](http-api-access-control.md)
+ [Abilitare la registrazione per le API](http-api-logging.md)
+ [Configurare la limitazione per le API](http-api-throttling.md)
+ [Configurare domini personalizzati per le API](http-api-custom-domain-names.md)

Per ricevere assistenza su Amazon API Gateway dalla community, consulta il [forum di discussione di API Gateway](https://repost.aws/tags/TAx94GNHn2R3Ot5Ab_HCvlng). Per entrare nel forum, è possibile che AWS richieda l'accesso.

Per ottenere assistenza su API Gateway direttamente da AWS, consulta le opzioni di supporto nella [pagina di supporto AWS](https://aws.amazon.com/premiumsupport/).

Consulta anche le nostre [domande frequenti (FAQ)](https://aws.amazon.com/api-gateway/faqs/) oppure [contattaci direttamente](https://aws.amazon.com/contact-us/).