

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

# Che cosa è Amazon API Gateway?
<a name="welcome"></a>

Amazon API Gateway è un AWS servizio per la creazione, la pubblicazione, la manutenzione, il monitoraggio e la protezione di REST, HTTP e WebSocket APIs su qualsiasi scala. Gli sviluppatori di API possono creare APIs quell'accesso AWS o altri servizi Web, oltre ai dati archiviati nel [AWS cloud](https://aws.amazon.com/what-is-cloud-computing/). In qualità di sviluppatore di API Gateway API, puoi creare applicazioni client APIs per utilizzarle nelle tue applicazioni client. Oppure puoi renderlo APIs disponibile agli sviluppatori di app di terze parti. Per ulteriori informazioni, consulta [Chi utilizza le API Gateway?](api-gateway-overview-developer-experience.md#apigateway-who-uses-api-gateway).

API Gateway consente RESTful APIs di:
+ Sono basate su HTTP.
+ Consentono la comunicazione client-server stateless.
+ Implementano metodi HTTP standard come GET, POST, PUT, PATCH e DELETE.

Per ulteriori informazioni su API Gateway REST APIs e HTTP APIs[Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md), vedere[API HTTP di Gateway API](http-api.md),[Usa API Gateway per creare REST APIs](api-gateway-overview-developer-experience.md#api-gateway-overview-rest), e[Sviluppa REST APIs in API Gateway](rest-api-develop.md).

API Gateway consente WebSocket APIs di:
+ Aderisci al [WebSocket](https://datatracker.ietf.org/doc/html/rfc6455)protocollo, che consente una comunicazione full-duplex basata sullo stato tra client e server.
+ Instradano i messaggi in ingresso e sono basate sul contenuto dei messaggi.

Per ulteriori informazioni su API Gateway WebSocket APIs, vedere [Usa API Gateway per creare WebSocket APIs](api-gateway-overview-developer-experience.md#api-gateway-overview-websocket) e[Panoramica di WebSocket APIs in API Gateway](apigateway-websocket-api-overview.md).

**Topics**
+ [Architettura di API Gateway](#api-gateway-overview-aws-backbone)
+ [Caratteristiche di API Gateway](#api-gateway-overview-features)
+ [Casi d'uso di API Gateway](api-gateway-overview-developer-experience.md)
+ [Accesso ad API Gateway](#introduction-accessing-apigateway)
+ [Parte dell'infrastruttura serverless AWS](#api-gateway-overview-a-serverless-pillar)
+ [Informazioni su come iniziare a utilizzare Amazon API Gateway](#welcome-how-to-get-started)
+ [Concetti di Amazon API Gateway](api-gateway-basic-concept.md)
+ [Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md)
+ [Nozioni di base sulla console REST API](getting-started-rest-new-console.md)

## Architettura di API Gateway
<a name="api-gateway-overview-aws-backbone"></a>

Il diagramma seguente mostra l'architettura di API Gateway.

![\[Diagramma dell'architettura di API Gateway\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/Product-Page-Diagram_Amazon-API-Gateway-How-Works.png)


Questo diagramma illustra come lo APIs sviluppo di Amazon API Gateway offra a te o ai tuoi clienti sviluppatori un'esperienza di sviluppo integrata e coerente per la creazione di applicazioni AWS serverless. API Gateway gestisce tutte le attività di accettazione ed elaborazione relative a centinaia di migliaia di chiamate API simultanee. Queste attività includono la gestione del traffico, il controllo dell'autorizzazione e dell'accesso, il monitoraggio e la gestione delle versioni delle API. 

API Gateway funge da «porta d'ingresso» per consentire alle applicazioni di accedere ai dati, alla logica di business o alle funzionalità dei servizi di backend, come i carichi di lavoro in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2), il codice in esecuzione AWS Lambda su qualsiasi applicazione Web o applicazioni di comunicazione in tempo reale.

## Caratteristiche di API Gateway
<a name="api-gateway-overview-features"></a>

Amazon API Gateway offre caratteristiche come le seguenti:
+ [Support per stateful ([WebSocket](apigateway-websocket-api.md)) e stateless ([HTTP](http-api.md) e REST).](apigateway-rest-api.md) APIs
+ Meccanismi di [autenticazione](apigateway-control-access-to-api.md) potenti e flessibili, come AWS Identity and Access Management policy, funzioni di autorizzazione Lambda e pool di utenti di Amazon Cognito.
+ [Distribuzioni di versioni di Canary](canary-release.md) per l'implementazione sicura di modifiche.
+ Logging e monitoraggio dell'utilizzo delle API e delle modifiche apportate alle API in [CloudTrail](cloudtrail.md).
+ CloudWatch registrazione degli accessi e delle esecuzioni, inclusa la possibilità di impostare allarmi. Per ulteriori informazioni, consultare [Monitora l'esecuzione delle API REST con i CloudWatch parametri di Amazon](monitoring-cloudwatch.md) e [Monitora l'esecuzione delle WebSocket API con CloudWatch metriche](apigateway-websocket-api-logging.md).
+ Possibilità di utilizzare CloudFormation modelli per abilitare la creazione di API. Per ulteriori informazioni, consulta l'argomento relativo al [riferimento ai tipi di risorse Amazon API Gateway](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGateway.html) e [riferimento ai tipi di risorse Amazon API Gateway V2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGatewayV2.html).
+ Supporto per [nomi di dominio personalizzati](how-to-custom-domains.md).
+ Integrazione con [AWS WAF](apigateway-control-access-aws-waf.md)per APIs proteggerti dai comuni exploit web.
+ Integrazione con [AWS X-Ray](apigateway-xray.md) per identificare e valutare le prestazioni in termini di latenza.

Per un elenco completo delle versioni delle caratteristiche di API Gateway, consulta [Cronologia dei documenti](history.md).

# Casi d'uso di API Gateway
<a name="api-gateway-overview-developer-experience"></a>

La seguente sezione sui casi d'uso presenta una panoramica dei diversi tipi di API Gateway APIs e dei diversi tipi di sviluppatori che utilizzano API Gateway. Per informazioni più dettagliate sulla differenza tra REST APIs e HTTP APIs, consulta[Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md).

**Topics**
+ [Usa API Gateway per creare REST APIs](#api-gateway-overview-rest)
+ [Usa API Gateway per creare HTTP APIs](#api-gateway-overview-http)
+ [Usa API Gateway per creare WebSocket APIs](#api-gateway-overview-websocket)
+ [Chi utilizza le API Gateway?](#apigateway-who-uses-api-gateway)

## Usa API Gateway per creare REST APIs
<a name="api-gateway-overview-rest"></a>

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. *In API Gateway REST APIs, il frontend è incapsulato da *richieste di metodo* e 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](https://en.wikipedia.org/wiki/Payload_(computing)) per agevolare la configurazione del modello di mappatura del corpo.

API Gateway fornisce le funzionalità di gestione delle API REST, ad esempio la seguente:
+ Supporto per la generazione SDKs e la creazione di documentazione API utilizzando le estensioni API Gateway per OpenAPI
+ Throttling delle richieste HTTP

## Usa API Gateway per creare HTTP APIs
<a name="api-gateway-overview-http"></a>

HTTP ti APIs consente di creare RESTful APIs con una latenza inferiore e un costo inferiore rispetto a APIs REST.

È possibile utilizzare HTTP APIs per inviare richieste a AWS Lambda funzioni 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.

 APIs Supporto HTTP [OpenID Connect e autorizzazione OAuth ](https://openid.net/developers/how-connect-works/) [2.0](https://oauth.net/2/). Sono dotate di supporto integrato per CORS (cross-origin resource sharing) e le distribuzioni automatiche.

Per ulteriori informazioni, consulta [Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md).

## Usa API Gateway per creare WebSocket APIs
<a name="api-gateway-overview-websocket"></a>

In un' WebSocket API, il client e il server possono 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, è possibile creare un'applicazione serverless utilizzando un'API WebSocket API Gateway e AWS Lambda inviare e ricevere messaggi da e verso singoli utenti o gruppi di utenti in una chat room. Oppure puoi richiamare servizi di backend come AWS Lambda Amazon Kinesis o un endpoint HTTP basato sul contenuto dei messaggi.

Puoi utilizzare API Gateway WebSocket APIs per creare applicazioni di comunicazione sicure e in tempo reale senza dover fornire o gestire 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 offre funzionalità di gestione delle WebSocket API come le seguenti:
+ Monitoraggio e throttling di connessioni e messaggi
+ Viene utilizzato AWS X-Ray per tracciare i messaggi mentre viaggiano attraverso i APIs servizi di backend
+ Facile integrazione con HTTP/HTTPS gli endpoint

## Chi utilizza le API Gateway?
<a name="apigateway-who-uses-api-gateway"></a>

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 dell' AWS account proprietario dell'API.

Uno sviluppatore di app crea un'applicazione funzionante per chiamare AWS i servizi richiamando un' WebSocket API REST creata da uno sviluppatore di API in API Gateway.

Lo sviluppatore di app è il cliente dello sviluppatore di API. Lo sviluppatore dell'app non deve disporre di un AWS account, a condizione che l'API non richieda autorizzazioni IAM o supporti l'autorizzazione degli utenti tramite provider di identità federati di terze parti supportati dalla federazione delle identità dei pool di [utenti di Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/). Tra i provider di identità figurano Amazon, pool di utenti Amazon Cognito, Facebook e Google.

### Creazione e gestione di un'API di API Gateway
<a name="api-gateway-overview-developer-experience-managing-api"></a>

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](getting-started.md) o chiamando il [riferimenti API](api-ref.md). Sono disponibili diversi modi per chiamare questa API. Includono l'utilizzo di AWS Command Line Interface (AWS CLI) o l'utilizzo di un SDK. AWS Inoltre, puoi abilitare la creazione di API con [AWS CloudFormation modelli](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html) o (nel caso di REST APIs e HTTP APIs)[Estensioni OpenAPI per Gateway API](api-gateway-swagger-extensions.md). 

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](https://docs.aws.amazon.com/general/latest/gr/apigateway.html).

### Chiamare un'API di API Gateway
<a name="api-gateway-overview-developer-experience-invoking-api"></a>

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](how-to-call-api.md) e [Invoca WebSocket APIs](apigateway-how-to-call-websocket-api.md).

## Accesso ad API Gateway
<a name="introduction-accessing-apigateway"></a>

Puoi accedere ad Amazon API Gateway nei seguenti modi:
+ **Console di gestione AWS**— Console di gestione AWS Fornisce un'interfaccia web per la creazione e la gestione APIs. Dopo aver completato le fasi descritte in [Configurazione per l'utilizzo di Gateway API](setting-up.md), è possibile accedere alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).
+ **AWS SDKs**— Se utilizzi un linguaggio di programmazione che AWS fornisce un SDK per, puoi utilizzare un SDK per accedere all'API Gateway. SDKs semplifica l'autenticazione, si integra facilmente con il tuo ambiente di sviluppo e fornisci l'accesso ai comandi API Gateway. Per ulteriori informazioni, consulta [Strumenti per Amazon Web Services](https://aws.amazon.com/developer/tools/).
+ **API Gateway V1 e V2 APIs**: se utilizzi un linguaggio di programmazione per il quale non è disponibile un SDK, consulta il riferimento all'API di [Amazon API Gateway versione 1 e il riferimento all'API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html) di [Amazon API Gateway versione 2](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html).
+ **AWS Command Line Interface**: per ulteriori informazioni, consulta [Preparazione alla configurazione con AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/) nella *Guida per l'utente di AWS Command Line Interface *.
+ **AWS Tools for Windows PowerShell**: per ulteriori informazioni, consulta [Come configurare AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) nella *Guida per l'utente di AWS Strumenti per PowerShell *.

## Parte dell'infrastruttura serverless AWS
<a name="api-gateway-overview-a-serverless-pillar"></a>

Oltre a [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/), API Gateway costituisce la parte rivolta alle app dell'infrastruttura AWS serverless. Per ulteriori informazioni su come iniziare a usare il serverless, consulta [Serverless Developer Guide](https://docs.aws.amazon.com/serverless/latest/devguide/welcome.html).

Affinché un'app richiami AWS servizi disponibili pubblicamente, puoi utilizzare Lambda per interagire con i servizi richiesti ed esporre le funzioni Lambda tramite metodi API in API Gateway. AWS Lambda esegue il codice su un'infrastruttura di elaborazione ad alta disponibilità. Esegue l'amministrazione e l'esecuzione necessarie delle risorse di calcolo. Per abilitare applicazioni serverless, API Gateway supporta [integrazioni proxy semplificate con endpoint](api-gateway-set-up-simple-proxy.md) HTTP AWS Lambda . 

## Informazioni su come iniziare a utilizzare Amazon API Gateway
<a name="welcome-how-to-get-started"></a>

Per un'introduzione ad Amazon API Gateway, consulta gli argomenti seguenti:
+ [Nozioni di base su Gateway API](getting-started.md), che fornisce una spiegazione passo per passo per la creazione di un'API HTTP.
+ [Terreno serverless](https://serverlessland.com/video?tag=Amazon%20API%20Gateway), che fornisce video didattici.
+ [Happy Little API Shorts](https://www.youtube.com/playlist?list=PLJo-rJlep0EDFw7t0-IBHffVYKcPMDXHY), una serie di brevi video didattici.

# Concetti di Amazon API Gateway
<a name="api-gateway-basic-concept"></a>

La sezione seguente descrive i concetti introduttivi per l'utilizzo di Gateway API.

**Gateway API**  <a name="apigateway-definition-apigateway"></a>
API Gateway è un AWS servizio che supporta quanto segue:  
+ Creazione, implementazione e gestione di un'API ([RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer)Application Programming Interface) per esporre endpoint, AWS Lambda funzioni o altri servizi HTTP di backend. AWS 
+ Creazione, implementazione e gestione di un'[WebSocket](https://datatracker.ietf.org/doc/html/rfc6455)API per AWS Lambda esporre funzioni o altri servizi. AWS 
+ Richiamo di metodi API esposti tramite il frontend HTTP e gli endpoint. WebSocket

**API REST API Gateway**  <a name="apigateway-definition-apigateway-api"></a>
Una raccolta di risorse e metodi HTTP integrati con endpoint HTTP di backend, funzioni Lambda o altri servizi. AWS È possibile distribuire questa raccolta in una o più fasi. In genere, le risorse API sono organizzate in una struttura di risorse in base alla logica dell'applicazione. Ogni risorsa API può esporre uno o più metodi API che dispongono di verbi HTTP univoci supportati da API Gateway. Per ulteriori informazioni, consulta [Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md).

**API HTTP API Gateway**  <a name="apigateway-definition-http-api"></a>
Una raccolta di route e metodi integrati con endpoint HTTP di back-end o funzioni Lambda. È possibile distribuire questa raccolta in una o più fasi. Ogni route può esporre uno o più metodi API che dispongono di verbi HTTP univoci supportati da API Gateway. Per ulteriori informazioni, consulta [Scegli tra REST APIs e HTTP APIs](http-api-vs-rest.md).

**API Gateway WebSocket API**  <a name="apigateway-definition-apigateway-websocket-api"></a>
Una raccolta di WebSocket percorsi e chiavi di percorso integrati con endpoint HTTP di backend, funzioni Lambda o altri servizi. AWS È possibile distribuire questa raccolta in una o più fasi. I metodi API vengono richiamati tramite WebSocket connessioni frontend che è possibile associare a un nome di dominio personalizzato registrato.

**Distribuzione API**  <a name="apigateway-definition-api-deployment"></a>
Un' point-in-timeistantanea della tua API Gateway API. Per essere utilizzabile dai client, la distribuzione deve essere associata a una o più fasi API.

**Sviluppatore di API**  <a name="apigateway-definition-api-developer"></a>
Il tuo AWS account che possiede una distribuzione API Gateway (ad esempio, un fornitore di servizi che supporta anche l'accesso programmatico).

**Endpoint API**  <a name="apigateway-definition-api-endpoints"></a>
Un nome host per un'API in API Gateway che viene distribuita in una regione specifica. Il formato del nome host è `{api-id}.execute-api.{region}.amazonaws.com`. Sono supportati i tipi di endpoint API seguenti:  
+ [Endpoint API ottimizzato per edge](#apigateway-definition-edge-optimized-api-endpoint)
+ [Endpoint API privato](#apigateway-definition-private-api-endpoint)
+ [Endpoint API regionale](#apigateway-definition-regional-api-endpoint)

**Chiave API**  <a name="apigateway-definition-api-key"></a>
Una stringa alfanumerica utilizzata da API Gateway per identificare uno sviluppatore di app che utilizza il tuo REST o WebSocket API. API Gateway può generare chiavi API per tuo conto o puoi importarle da un file CSV. Puoi utilizzare le chiavi API insieme agli [autorizzatori Lambda](apigateway-use-lambda-authorizer.md) o ai [piani di utilizzo](api-gateway-api-usage-plans.md) per controllare l'accesso al tuo. APIs  
Consulta la sezione relativa a [endpoint API](#apigateway-definition-api-endpoints).

**Proprietario di API**  <a name="apigateway-definition-api-owner"></a>
Vedi [Sviluppatore di API](#apigateway-definition-api-developer).

**Fase API**  <a name="apigateway-definition-api-stage"></a>
Un riferimento logico a uno stato del ciclo di vita dell'API (ad esempio, "svi", "prod", "beta", "v2"). Le fasi API sono identificate dall'ID API e dal nome della fase.

**Sviluppatore di app**  <a name="apigateway-definition-app-developer"></a>
Un creatore di app che può avere o meno un AWS account e che interagisce con l'API che tu, lo sviluppatore dell'API, hai distribuito. Gli sviluppatori di app sono i tuoi clienti. Uno sviluppatore di app è in genere identificato da una [chiave API](#apigateway-definition-api-key).

**URL di callback**  
Quando un nuovo client è connesso tramite una WebSocket connessione, puoi chiamare un'integrazione in API Gateway per memorizzare l'URL di callback del client. Puoi quindi utilizzare questo URL di callback per inviare messaggi al client dal sistema di back-end.

**Portale per sviluppatori**  <a name="apigateway-definition-developer-portal"></a>
Un'applicazione in cui i provider di API possono condividere la propria documentazione APIs e quella relativa alle API con i consumatori di API. APIs sono raggruppati in prodotti, che sono una raccolta di endpoint API REST, documentazione API e documentazione supplementare sul prodotto.  
Vedi i [portali API Gateway](apigateway-portals.md).

**Endpoint API ottimizzato per edge**  <a name="apigateway-definition-edge-optimized-api-endpoint"></a>
Il nome host predefinito di un'API API Gateway che viene distribuita nella regione specificata utilizzando una CloudFront distribuzione per facilitare l'accesso dei client, in genere da più regioni AWS . Le richieste API vengono indirizzate al CloudFront Point of Presence (POP) più vicino, il che in genere migliora i tempi di connessione per client geograficamente diversi.  
Consulta la sezione relativa a [endpoint API](#apigateway-definition-api-endpoints).

**Richiesta di integrazione**  <a name="apigateway-definition-integration-request"></a>
L'interfaccia interna di una route WebSocket API o di un metodo API REST in API Gateway, in cui si mappa il corpo di una richiesta di route o i parametri e il corpo di una richiesta di metodo ai formati richiesti dal backend.

**Risposta di integrazione**  <a name="apigateway-definition-integration-response"></a>
L'interfaccia interna di un percorso WebSocket API o di un metodo API REST in API Gateway, in cui si mappano i codici di stato, le intestazioni e il payload ricevuti dal backend al formato di risposta restituito a un'app client.

**Modello di mappatura**  <a name="apigateway-definition-mapping-template"></a>
Uno script in [Velocity Template Language (VTL)](https://velocity.apache.org/engine/devel/vtl-reference.html) che trasforma il corpo di una richiesta dal formato dati del front-end al formato dati del back-end o che trasforma il corpo di una risposta dal formato dati del back-end al formato dati del front-end. I modelli di mappatura possono essere specificati nella richiesta o nella risposta di integrazione. Possono fare riferimento ai dati disponibili al runtime come contesto e variabili di fase.   
La mappatura può essere semplice come una [trasformazione di identità](https://en.wikipedia.org/wiki/Identity_transform) che trasferisce le intestazioni o il corpo mediante l'integrazione senza alcuna modifica dal client al back-end per una richiesta. Lo stesso vale per una risposta, in cui il payload viene trasferito dal back-end al client.

**Richiesta metodo**  <a name="apigateway-definition-method-request"></a>
Interfaccia pubblica di un metodo API in API Gateway che definisce i parametri e il corpo che uno sviluppatore di app deve inviare nelle richieste per accedere al back-end tramite l'API.

**Risposta di metodo**  <a name="apigateway-definition-method-response"></a>
Interfaccia pubblica di un'API REST che definisce i codici di stato, le intestazioni e i modelli di corpo che uno sviluppatore di app dovrebbe aspettarsi in risposta dall'API. 

**Integrazione fittizia**  <a name="apigateway-definition-mock-integration"></a>
In un'integrazione fittizia, le risposte API vengono generate direttamente da API Gateway, senza che sia richiesto un back-end di integrazione. Uno sviluppatore di API può decidere in che modo API Gateway risponde alle richieste di integrazione fittizia. A tale scopo, è necessario configurare la richiesta e la risposta di integrazione del metodo per associare una risposta a un codice di stato specifico.

**Modello**  <a name="apigateway-definition-model"></a>
Schema di dati che specifica la struttura di dati di una richiesta o di un payload di risposta. Un modello è necessario per generare un SDK fortemente tipizzato di un'API. Viene anche utilizzato per convalidare payload. Un modello è utile per generare un modello di mappatura di esempio per avviare la creazione di un modello di mappatura di produzione. Sebbene sia utile, il modello non è richiesto per la creazione di un modello di mappatura.

**Portal**  <a name="apigateway-definition-portal"></a>
[Vedi il portale per sviluppatori.](#apigateway-definition-developer-portal)

**Prodotto Portal**  <a name="apigateway-definition-product"></a>
Un servizio o una funzionalità che desideri condividere. Il prodotto del portale è una raccolta di endpoint REST e pagine di prodotto del prodotto. Gli endpoint REST del prodotto sono i punti di accesso al prodotto del portale e consistono nel percorso e nel metodo di un'API REST e nella fase in cui viene implementata. Le pagine dei prodotti sono la documentazione fornita per spiegare come i consumatori di API possono utilizzare gli endpoint del prodotto. Puoi condividere i prodotti tra più AWS account per aggiungerli ai portali.  
Vedi [Creare un prodotto](apigateway-portals-create-portal-product.md).

**Private API**  <a name="apigateway-definition-private-api"></a>
Consulta la sezione relativa a [endpoint API privato](#apigateway-definition-private-api).

**Endpoint API privato**  <a name="apigateway-definition-private-api-endpoint"></a>
Un endpoint API che viene esposto tramite endpoint VPC dell'interfaccia e che consente a un client di accedere in modo sicuro alle risorse API private all'interno di un VPC. APIs I privati sono isolati dalla rete Internet pubblica ed è possibile accedervi solo utilizzando gli endpoint VPC per API Gateway a cui è stato concesso l'accesso.

**Integrazione privata**  <a name="apigateway-definition-private-integration"></a>
Un tipo di integrazione API Gateway per consentire a un client di accedere alle risorse all'interno del VPC di un cliente tramite un endpoint API REST privato senza esporre le risorse alla rete Internet pubblica.

**Integrazione proxy**  <a name="apigateway-definition-proxy-integration"></a>
Configurazione di integrazione API Gateway semplificata. Puoi impostare un'integrazione proxy come un'integrazione proxy HTTP o un'integrazione proxy Lambda.   
Per l'integrazione proxy HTTP, API Gateway trasferisce richiesta e risposta complete tra il front-end e il back-end HTTP. Per l'integrazione proxy Lambda, API Gateway invia la richiesta completa come input alla funzione Lambda di back-end. API Gateway trasforma quindi l'output della funzione Lambda in una risposta HTTP per il front-end.   
In REST APIs, l'integrazione proxy viene utilizzata più comunemente con una risorsa proxy, che è rappresentata da una variabile greedy path (ad esempio`{proxy+}`) combinata con un metodo catch-all`ANY`.

**Creazione rapida**  <a name="apigateway-definition-quick-create"></a>
È possibile utilizzare la creazione rapida per semplificare la creazione di un'API HTTP. Creazione rapida consente di creare un'API con un'integrazione Lambda o HTTP, una route catch-all predefinita e una fase predefinita configurata per distribuire automaticamente le modifiche. Per ulteriori informazioni, consulta [Crea un'API HTTP utilizzando la AWS CLI](http-api-develop.md#http-api-examples.cli.quick-create).

**Endpoint API regionale**  <a name="apigateway-definition-regional-api-endpoint"></a>
Il nome host di un'API distribuita nella regione specificata e destinata a servire i client, ad esempio EC2 le istanze, nella stessa regione. AWS Le richieste API vengono indirizzate direttamente all'API Gateway API specifica della regione senza passare attraverso alcuna CloudFront distribuzione. Per le richieste all'interno della regione, un endpoint regionale aggira l'inutile processo di andata e ritorno verso una distribuzione. CloudFront   
Inoltre, puoi applicare [l'instradamento basato su latenza](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latency) su endpoint regionali per distribuire un'API in più regioni utilizzando la stessa configurazione dell'endpoint API regionale, impostare lo stesso nome di dominio personalizzato per ogni API distribuita e configurare i record DNS basati sulla latenza in Route 53 per instradare le richieste client alla regione con latenza minima.  
Consulta la sezione relativa a [endpoint API](#apigateway-definition-api-endpoints).

**Route**  <a name="apigateway-definition-route"></a>
Un WebSocket percorso in API Gateway viene utilizzato per indirizzare i messaggi in arrivo a un'integrazione specifica, ad esempio una AWS Lambda funzione, in base al contenuto del messaggio. Quando definisci WebSocket l'API, specifichi una chiave di percorso e un backend di integrazione. La chiave route è un attributo nel corpo del messaggio. Quando viene trovata una corrispondenza per la chiave route in un messaggio in entrata, viene richiamato il back-end di integrazione.   
È anche possibile impostare una route predefinita per chiavi route non corrispondenti o per specificare un modello di proxy che trasferisce il messaggio senza alcuna modifica ai componenti di back-end che eseguono l'instradamento ed elaborano la richiesta.

**Richiesta di instradamento**  <a name="apigateway-definition-route-request"></a>
L'interfaccia pubblica di un metodo WebSocket API in API Gateway che definisce il corpo che uno sviluppatore di app deve inviare nelle richieste per accedere al backend tramite l'API.

**Risposta di instradamento**  <a name="apigateway-definition-route-response"></a>
L'interfaccia pubblica di un' WebSocket API che definisce i codici di stato, le intestazioni e i modelli di corpo che uno sviluppatore di app dovrebbe aspettarsi da API Gateway.

**Piano di utilizzo**  <a name="apigateway-definition-usage-plan"></a>
Un [piano di utilizzo](api-gateway-api-usage-plans.md) fornisce ai client API selezionati l'accesso a uno o più REST o. WebSocket APIs Puoi usare un piano di utilizzo per configurare i limiti di throttling e di quote, applicati a singole chiavi API dei client.

**WebSocket connessione**  
API Gateway mantiene una connessione permanente tra i client e l’API Gateway stesso. Non esiste alcuna connessione permanente tra API Gateway e le integrazioni di back-end, ad esempio funzioni Lambda. I servizi di back-end vengono richiamati in base alle esigenze, a seconda del contenuto dei messaggi ricevuti dai client.

# Scegli tra REST APIs e HTTP APIs
<a name="http-api-vs-rest"></a>

REST APIs e HTTP APIs sono entrambi prodotti RESTful API. REST APIs supporta più funzionalità rispetto a HTTP APIs, mentre HTTP APIs è progettato con funzionalità minime in modo da poter essere offerto a un prezzo inferiore. Scegli REST APIs se hai bisogno di funzionalità come chiavi API, limitazione per client, convalida delle richieste, AWS WAF integrazione o endpoint API privati. Scegli HTTP APIs se non ti servono le funzionalità incluse in REST. APIs

Le seguenti sezioni riassumono le funzionalità principali disponibili in REST APIs e HTTP APIs. Se necessario, vengono forniti collegamenti aggiuntivi per navigare tra le sezioni REST API e API HTTP della Guida per gli sviluppatori di Gateway API.

## Tipo di endpoint
<a name="http-api-vs-rest.differences.endpoint-type"></a>

Il tipo di endpoint si riferisce all'endpoint creato da API Gateway per la propria API. Per ulteriori informazioni, consulta [Tipi di endpoint API per REST APIs in API Gateway](api-gateway-api-endpoint-types.md). 


| Tipi di endpoint | REST API | API HTTP | 
| --- | --- | --- | 
|  [Ottimizzato per edge](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-edge-optimized)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Regionale](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-regional)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | 
|  [Privata](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-private)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

## Sicurezza
<a name="http-api-vs-rest.differences.security"></a>

API Gateway fornisce diversi modi per proteggere l'API da determinate minacce, ad esempio utenti malintenzionati o picchi di traffico. Per ulteriori informazioni, consultare [Proteggi il tuo REST APIs in API Gateway](rest-api-protect.md) e [Protezione delle API HTTP in Gateway API](http-api-protect.md).


| Funzionalità di sicurezza | REST API | API HTTP | 
| --- | --- | --- | 
|  [Autenticazione TLS reciproca](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-mutual-tls.md)  | 
|  [Certificati per l'autenticazione di back-end](getting-started-client-side-ssl-authentication.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [AWS WAF](apigateway-control-access-aws-waf.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

## Autorizzazione
<a name="http-api-vs-rest.differences.authorization"></a>

API Gateway supporta più meccanismi per controllare e gestire l'accesso all'API. Per ulteriori informazioni, consultare [Controlla e gestisci l'accesso a REST APIs in API Gateway](apigateway-control-access-to-api.md) e [Controlla e gestisci l'accesso a HTTP APIs in API Gateway](http-api-access-control.md).


| Opzioni di autorizzazione | REST API | API HTTP | 
| --- | --- | --- | 
|  [IAM](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-access-control-iam.md)  | 
|  [Policy delle risorse](apigateway-resource-policies.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No   | 
|  [Amazon Cognito](apigateway-integrate-with-cognito.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì 1  | 
|  [Autorizzazione personalizzata con una funzione AWS Lambda](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-lambda-authorizer.md)  | 
|  [Token Web JSON (JWT)](http-api-jwt-authorizer.md) 2  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | 

1 È possibile utilizzare Amazon Cognito con un'[autorizzazione JWT](http-api-jwt-authorizer.md).

2 È possibile utilizzare un [autorizzatore Lambda](apigateway-use-lambda-authorizer.md) per eseguire la convalida JWTs per REST. APIs

## Gestione API
<a name="http-api-vs-rest.differences.management"></a>

Scegli REST APIs se hai bisogno di funzionalità di gestione delle API come chiavi API e limitazione della velocità per cliente. Per ulteriori informazioni, consultare [Distribuisci il tuo REST APIs ai clienti in API Gateway](rest-api-distribute.md), [Nome di dominio personalizzato per REST pubblico APIs in API Gateway](how-to-custom-domains.md) e [Nomi di dominio personalizzati per API HTTP in Gateway API](http-api-custom-domain-names.md).


| Funzionalità | REST API | API HTTP | 
| --- | --- | --- | 
|  [Domini personalizzati](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-custom-domain-names.md)  | 
|  [Chiavi API](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Limitazione della frequenza per client](api-gateway-request-throttling.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Limitazione (della larghezza di banda della rete) dell'utilizzo per client](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Portale per sviluppatori](apigateway-portals.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

## Sviluppo
<a name="http-api-vs-rest.differences.development"></a>

Durante lo sviluppo delle API di API Gateway è possibile impostare una serie di caratteristiche dell'API. Queste caratteristiche dipendono dal caso d'uso dell'API. Per ulteriori informazioni, consulta [Sviluppa REST APIs in API Gateway](rest-api-develop.md) e [Sviluppa HTTP APIs in API Gateway](http-api-develop.md).


| Funzionalità | REST API | API HTTP | 
| --- | --- | --- | 
|  [Configurazione CORS](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-cors.md)  | 
|  [Chiamate di test](how-to-test-method.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Caching](api-gateway-caching.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Implementazioni controllate dall'utente](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-stages.md)  | 
|  [Implementazioni automatiche](http-api-stages.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | 
|  [Risposte gateway personalizzate](api-gateway-gatewayResponse-definition.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Implementazione di una release Canary](canary-release.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Convalida delle richieste](api-gateway-method-request-validation.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Trasformazione parametro della richiesta](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-parameter-mapping.md)  | 
|  [Trasformazione corpo della richiesta](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

## Monitoraggio
<a name="http-api-vs-rest.differences.monitoring"></a>

API Gateway supporta diverse opzioni per registrare le richieste API e monitorare le tue APIs. Per ulteriori informazioni, consultare [Monitoraggio delle REST API in Gateway API](rest-api-monitor.md) e [Monitora HTTP APIs nell'API Gateway](http-api-monitor.md).


| Funzionalità | REST API | API HTTP | 
| --- | --- | --- | 
|  [ CloudWatch Metriche Amazon](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-metrics.md)  | 
|  [Accedi ai log ai log CloudWatch ](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-logging.md)  | 
|  [Log di accesso ad Amazon Data Firehose](apigateway-logging-to-kinesis.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Registri di esecuzione](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [AWS X-Ray tracciamento](apigateway-xray.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

## integrazioni
<a name="http-api-vs-rest.differences.integrations"></a>

Le integrazioni collegano l'API Gateway API alle risorse di back-end. Per ulteriori informazioni, consultare [Integrazioni per REST APIs in API Gateway](how-to-integration-settings.md) e [Creazione delle integrazioni per API HTTP in Gateway API](http-api-develop-integrations.md).


| Funzionalità | REST API | API HTTP | 
| --- | --- | --- | 
|  [Endpoint HTTP pubblici](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-develop-integrations-http.md)  | 
|  [AWS servizi](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-develop-integrations-aws-services.md)  | 
|  [AWS Lambda funzioni](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-develop-integrations-lambda.md)  | 
|  [Integrazioni private con Network Load Balancer](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](http-api-develop-integrations-private.md)  | 
|  [Integrazioni private con il sistema di bilanciamento del carico dell'applicazione](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) [Sì](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | 
|  [Integrazioni private con AWS Cloud Map](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No   |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | 
|  [Integrazioni fittizie](how-to-mock-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 
|  [Streaming delle risposte](response-transfer-mode.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/success_icon.svg) Sì  | ![\[alt text not found\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/negative_icon.svg) No  | 

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