Concetti di Amazon API Gateway - Amazon API Gateway

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

Concetti di Amazon API Gateway

Gateway API

API Gateway è un servizio AWS che supporta quanto segue:

  • Creazione, distribuzione e gestione di un'API (Application Programming Interface) RESTful per esporre gli endpoint HTTP di back-end, le funzioni AWS Lambda o altri servizi AWS.

  • Creazione, implementazione e gestione di un'API WebSocket per esporre le funzioni AWS Lambda o altri servizi AWS.

  • Chiamate ai metodi API esposti attraverso endpoint HTTP e WebSocket di front-end.

API REST API Gateway

Un insieme di risorse e metodi HTTP integrati con gli endpoint HTTP di back-end, le 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 Scelta tra REST API e API HTTP.

API HTTP API Gateway

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 Scelta tra REST API e API HTTP.

API WebSocket API Gateway

Una raccolta di route WebSocket e chiavi di route integrate con endpoint HTTP di back-end, funzioni Lambda o altri servizi AWS. È possibile distribuire questa raccolta in una o più fasi. I metodi API vengono invocati tramite connessioni WebSocket di front-end che puoi associare a nomi di dominio personalizzati registrati.

Distribuzione API

Una snapshot point-in-time dell'API di API Gateway. Per essere utilizzabile dai client, la distribuzione deve essere associata a una o più fasi API.

Sviluppatore di API

L'account AWS che possiede un'implementazione API Gateway (ad esempio, un provider di servizi che supporta anche l'accesso programmatico).

API endpoint

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:

Chiave API

Una stringa alfanumerica utilizzata da API Gateway per identificare uno sviluppatore di app che utilizza l'API REST o WebSocket. API Gateway può generare chiavi API per tuo conto o puoi importarle da un file CSV. Puoi utilizzare le chiavi API insieme ai provider di autorizzazioni Lambda o ai piani di utilizzo per controllare l'accesso alle API.

Consulta la sezione relativa a endpoint API.

Proprietario di API

Vedi Sviluppatore di API.

Fase API

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

Un creatore di app che potrebbe o non potrebbe avere un account AWS e che interagisce con l'API distribuita dallo sviluppatore di API. Gli sviluppatori di app sono i tuoi clienti. Uno sviluppatore di app è in genere identificato da una chiave API.

URL di callback

Quando un nuovo client viene connesso tramite una connessione WebSocket, puoi chiamare un'integrazione in API Gateway per archiviare 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

Un'applicazione che consente ai clienti di registrare, scoprire ed effettuare la sottoscrizione ai prodotti (piani di utilizzo API Gateway), gestire le chiavi API e visualizzare i parametri di utilizzo per le API.

Endpoint API ottimizzato per edge

L'hostname predefinito di un'API di API Gateway implementata in una Regione specifica durante una distribuzione CloudFront per agevolare l'accesso dei client di diverse Regioni AWS. Le richieste API vengono instradate verso il punto di accesso (o punto di presenza) CloudFront più vicino e questo in genere migliora il tempo di connessione per i clienti in aree geograficamente diverse.

Consulta la sezione relativa a endpoint API.

Richiesta di integrazione

Interfaccia interna di una route API WebSocket o di un metodo API REST in API Gateway, in cui il corpo di una richiesta di instradamento o i parametri e il corpo di una richiesta del metodo vengono mappati ai formati richiesti per il back-end.

Risposta di integrazione

Interfaccia interna di una route API WebSocket o di un metodo API REST in API Gateway, in cui i codici di stato, le intestazioni e il payload ricevuti dal back-end vengono mappati al formato di risposta restituito a un'app client.

Modello di mappatura

Uno script in Velocity Template Language (VTL) 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à 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

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

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

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

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.

Private API

Consulta la sezione relativa a endpoint API privato.

Endpoint API privato

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. Le API Private sono isolate dalla rete Internet pubblica e sono accessibili solo utilizzando endpoint VPC per API Gateway che hanno ricevuto l'accesso.

Integrazione privata

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

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.

Nelle API REST, l'integrazione proxy viene più comunemente usata con una risorsa proxy, rappresentata da una variabile di percorso greedy (ad esempio, {proxy+}) abbinata a un metodo catch-all ANY.

Creazione rapida

È 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 Creare un'API HTTP utilizzando la CLI AWS.

Endpoint API regionale

Il nome host di un'API distribuita in una regione specifica per soddisfare le richieste dei client, come le istanze EC2, nella stessa regione AWS. Le richieste API sono destinate direttamente all'API di API Gateway specifica della regione, senza passare attraverso una distribuzione CloudFront. Per le richieste interne alla regione, un endpoint regionale ignora il round trip non necessario verso una distribuzione CloudFront.

Inoltre, puoi applicare l'instradamento basato su latenza 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.

Route

Una route WebSocket in API Gateway viene utilizzata per indirizzare messaggi in entrata a un'integrazione specifica, ad esempio una funzione AWS Lambda, in base al contenuto del messaggio. Quando definisci l'API WebSocket, specifica una chiave route e un back-end 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

Interfaccia pubblica di un metodo API WebSocket in API Gateway che definisce il corpo che uno sviluppatore di app deve inviare nelle richieste per accedere al back-end tramite l'API.

Risposta di instradamento

Interfaccia pubblica di un'API WebSocket che definisce i codici di stato, le intestazioni e i modelli di corpo che uno sviluppatore di app deve aspettarsi da API Gateway.

Piano di utilizzo

Un piano di utilizzo fornisce a client dell'API selezionati l'accesso a una o più API REST o WebSocket distribuite. Puoi usare un piano di utilizzo per configurare i limiti di throttling e di quote, applicati a singole chiavi API dei client.

Connessione WebSocket

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.