

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 sulla console REST API
<a name="getting-started-rest-new-console"></a>

In questa esercitazione introduttiva, creerai una REST API serverless utilizzando la console REST API Gateway API. La tecnologia serverless APIs consente di concentrarsi sulle applicazioni anziché dedicare tempo al provisioning e alla gestione dei server. Il completamento di questa esercitazione richiede meno di 20 minuti e rientra nel [piano gratuito AWS](https://aws.amazon.com/free/).

Innanzitutto, crei una funzione Lambda utilizzando la console Lambda. Successivamente, crei una REST API utilizzando la console REST API Gateway API. Quindi, crei un metodo API e lo integri con una funzione Lambda utilizzando un'integrazione proxy Lambda. Infine, implementa e richiama la tua API.

Quando richiami la REST API, Gateway API instrada la richiesta alla funzione Lambda. Lambda esegue la funzione e restituisce una risposta a Gateway API. Gateway API restituisce quindi una risposta all'utente.

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


Per completare questo esercizio, sono necessari un utente Account AWS e un utente AWS Identity and Access Management (IAM) 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-rest-new-console-create-function)
+ [Fase 2: Creazione di una REST API](#getting-started-rest-new-console-create-api)
+ [Fase 3: Creazione di un'integrazione proxy Lambda](#getting-started-rest-new-console-create-integration)
+ [Fase 4: Implementazione dell'API](#getting-started-rest-new-console-deploy)
+ [Fase 5: Richiamo dell'API](#getting-started-rest-new-console-invoke-api)
+ [(Opzionale) Fase 6: pulizia](#getting-started-cleanup-rest)

## Fase 1: creazione di una funzione Lambda
<a name="getting-started-rest-new-console-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 questa esercitazione, utilizzi una funzione Node.js predefinita nella console Lambda.

**Come creare una funzione Lambda**

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

1. Scegli **Crea funzione**.

1. In **Basic information (Informazioni di base)** , per **Function name (Nome funzione)** , inserisci **my-function**.

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

1. Scegli **Crea funzione**.

Il codice predefinito della funzione Lambda dovrebbe essere simile al seguente:

```
export const handler = async (event) => {
    const response = {
        statusCode: 200,
        body: JSON.stringify('The API Gateway REST API console is great!'),
    };
    return response;
};
```

In questa esercitazione puoi modificare la funzione Lambda, purché la risposta della funzione sia conforme al [formato richiesto da Gateway API](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-output-format).

Sostituisci il corpo della risposta predefinito (`Hello from Lambda!`) con `The API Gateway REST API console is great!`. Quando richiami la funzione di esempio, restituisce una risposta `200` ai client, insieme alla risposta aggiornata.

## Fase 2: Creazione di una REST API
<a name="getting-started-rest-new-console-create-api"></a>

Successivamente, crei una REST API con una risorsa root (`/`).

**Creazione di una REST API**

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

1. Esegui una delle seguenti operazioni:
   + Per creare la tua prima API, in **REST API**, scegli **Crea**.
   + Se hai già creato un'API, scegli **Crea API**, quindi scegliere **Crea** per **API REST**.

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

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Lasciare l'opzione **Tipo di endpoint API** impostata su **Regionale**.

1. Per il tipo di **indirizzo IP**, selezionare. **IPv4**

1. Seleziona **Create API** (Crea API).

## Fase 3: Creazione di un'integrazione proxy Lambda
<a name="getting-started-rest-new-console-create-integration"></a>

Successivamente, crei un metodo API per la REST API nella risorsa root (`/`) e integri tale il metodo con la funzione Lambda mediante un'integrazione proxy. In un'integrazione proxy Lambda, Gateway API passa la richiesta in entrata dal client direttamente alla funzione Lambda.

**Creazione di un'integrazione proxy Lambda**

1. Seleziona la risorsa `/`, quindi scegli **Crea metodo**.

1. In **Tipo di metodo**, seleziona `ANY`.

1. In **Tipo di integrazione**, seleziona **Lambda**.

1. Attiva l'opzione **Integrazione proxy Lambda**.

1. In **Funzione Lambda**, immetti **my-function**, quindi seleziona la funzione Lambda.

1. Scegli **Crea metodo**.

## Fase 4: Implementazione dell'API
<a name="getting-started-rest-new-console-deploy"></a>

Successivamente, crei un'implementazione API e la associa a una fase.

**Per distribuire l'API**

1. Seleziona **Deploy API (Distribuisci API)**.

1. In **Fase**, seleziona **Nuova fase**.

1. In **Stage name (Nome fase)** immettere **Prod**.

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Seleziona **Implementa**.

Ora i client possono chiamare la tua API. Per testare la tua API prima di implementarla, puoi facoltativamente scegliere il metodo **Qualsiasi**, accedere alla scheda **Test** e quindi scegliere **Test**.

## Fase 5: Richiamo dell'API
<a name="getting-started-rest-new-console-invoke-api"></a>

**Richiamo dell'API**

1. Nel riquadro di navigazione principale, seleziona **Log**.

1. In **Dettagli fase**, scegli l'icona Copia per copiare l'URL di richiamo dell'API.  
![\[Dopo aver creato la REST API, la console mostra il valore URL di richiamo dell'API.\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. Immetti l'URL di richiamo in un browser Web. 

   L'URL completo dovrebbe essere del tipo `https://abcd123.execute-api.us-east-2.amazonaws.com/Prod`. 

   Il tuo browser invia una richiesta `GET` all'API.

1. Verifica la risposta dell'API. Il testo `"The API Gateway REST API console is great!"` dovrebbe essere visualizzato nel browser in uso.

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

Per evitare costi inutili Account AWS, elimina le risorse che hai creato come parte di questo esercizio. La procedura seguente elimina la REST API, la funzione Lambda e le risorse associate.

**Eliminazione di una REST API**

1. Nel riquadro **Risorse**, scegli **Azioni API**, **Elimina API**.

1. Nella finestra di dialogo **Elimina** immetti **Conferma** e quindi scegli **Elimina**.

**Eliminazione della funzione Lambda**

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

1. Nella pagina **Funzioni**, seleziona la tua funzione. Scegli **Operazioni** > **Elimina**.

1. Nella finestra di dialogo **Elimina 1 funzione/i**, immetti **delete** e quindi scegli **Elimina**.

**Eliminazione del gruppo di log della funzione Lambda**

1. Apri la [pagina dei gruppi di log](https://console.aws.amazon.com/cloudwatch/home#logs:) della CloudWatch console Amazon.

1. Nella pagina **Gruppi di log**, seleziona il gruppo di log della funzione (`/aws/lambda/my-function`). In **Operazioni**, scegli **Elimina gruppo di log**.

1. Nella finestra di dialogo **Delete log group(s) (Elimina gruppo/i di log)** scegli **Delete (Elimina)**.

**Eliminazione del ruolo di esecuzione della funzione Lambda**

1. Aprire la pagina [Ruoli](https://console.aws.amazon.com/iam/home?#/roles) della console IAM.

1. (Facoltativo) Nella pagina **Ruoli**, nella casella di ricerca, immetti **my-function**.

1. Seleziona il ruolo della tua funzione (ad esempio, `my-function-31exxmpl`), quindi scegli **Elimina**.

1. Nella finestra di dialogo **Eliminare `my-function-31exxmpl`?**, immetti il nome del ruolo, quindi scegli **Elimina**.

**Suggerimento**  
Puoi automatizzare la creazione e la pulizia delle AWS risorse utilizzando AWS CloudFormation o AWS Serverless Application Model ()AWS SAM. Per alcuni CloudFormation modelli di esempio, consulta i [modelli di esempio per API Gateway](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates) nel repository **awsdocs** GitHub .