Domande frequenti su Amazon API Gateway

Domande generali

Amazon API Gateway è un servizio completamente gestito che semplifica agli sviluppatori la pubblicazione, la manutenzione, il monitoraggio e la protezione delle API su qualsiasi scala. Bastano pochi clic sulla Console di gestione AWS per creare un'API che agisca come porta d'entrata attraverso la quale le applicazioni possono accedere a dati, logica di business o funzionalità dei servizi di back-end, ad esempio le applicazioni in esecuzione su Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) o AWS Elastic Beanstalk, il codice in esecuzione su AWS Lambda o le applicazioni Web. Amazon API Gateway gestisce tutte le attività di accettazione ed elaborazione relative a centinaia di migliaia di chiamate API simultanee, inclusi gestione del traffico, controllo di accessi e autorizzazioni, monitoraggio e gestione delle versioni delle API. Amazon API Gateway non prevede alcuna tariffa minima né investimenti iniziali. Con le API HTTP e le API REST, vengono addebitati solo i costi delle chiamate API in ricezione e dei dati trasferiti in uscita. Per le API WebSocket, paghi solamente per i messaggi inviati e ricevuti e per il tempo in cui un utente/dispositivo è collegato all'API WebSocket.

Amazon API Gateway fornisce agli sviluppatori un servizio semplice, flessibile, completamente gestito e con tariffazione in base al consumo che si fa carico di tutti gli aspetti legati a creazione e funzionamento di API stabili per back-end di applicazioni. Con il gateway API puoi avviare nuovi servizi più rapidamente e con meno investimenti e quindi concentrarti maggiormente sullo sviluppo dei servizi essenziali della tua attività. API Gateway è stato creato per semplificare la creazione e la gestione di molteplici aspetti delle API:

1) Misurazione. : API Gateway aiuta a definire piani di utilizzo con cui monitorare e limitare l'accesso di sviluppatori di terze parti alle API. Puoi definire un insieme di piani di utilizzo o configurare il throttling e le quote per ogni singola chiave API. API Gateway monitora automaticamente il traffico verso le tue API e consente di estrarre dati di utilizzo per ciascuna chiave API.

2) Sicurezza. : API Gateway fornisce diversi strumenti per regolare gli accessi autorizzati alle API e controllare gli accessi alle operazioni dei servizi. API Gateway consente di sfruttare gli strumenti di sicurezza e amministrazione di AWS quali AWS Identity and Access Management (IAM) e Amazon Cognito per autorizzare gli accessi alle API. API Gateway verifica a tuo nome le chiamate API con firma utilizzando lo stesso metodo che AWS impiega per le proprie API. Utilizzando protocolli di autorizzazione personalizzati come funzioni AWS Lambda, API Gateway può anche semplificare la verifica dei token di connessione in entrata, sollevando il codice del back-end dal carico delle autorizzazioni.

3) Resilienza. Il gateway API facilita la gestione del traffico mediante il throttling, che consente ai sistemi back-end di affrontare i picchi di traffico. API Gateway, inoltre, consente di migliorare le prestazioni delle API e la latenza percepita dagli utenti finali memorizzando nella cache l'output delle chiamate API per evitare che venga contattato il back-end ogni volta.

4) Monitoraggio delle operazioni. : quando un'API è stata pubblicata e viene utilizzata dagli utenti, API Gateway fornisce un pannello di controllo con i parametri che consentono di monitorare le chiamate ai servizi. Il pannello di controllo di API Gateway, grazie all'interazione con Amazon CloudWatch, offre i parametri di prestazioni del back-end relativi a chiamate API, latenza e percentuali di errore. È possibile abilitare parametri per ogni metodo all'interno delle API, ottenendo anche log di errori, accessi e debug in CloudWatch Logs.

5) Gestione del ciclo di vita. : dopo la pubblicazione di un'API, spesso è necessario crearne e testarne nuove versioni in cui sono state aggiunte o migliorate determinate funzionalità. API Gateway consente di avviare diverse versioni dell'API e diverse fasi di sviluppo per ciascuna versione in modo simultaneo, così le applicazioni esistenti possono inviare chiamate alle versioni precedenti anche dopo la pubblicazione delle nuove versioni.

6) Progettato per gli sviluppatori. API Gateway consente di creare API in modo rapido, assegnando loro contenuti statici per le risposte, in modo da ridurre il lavoro di sviluppo distribuito su più team e il time-to-market delle applicazioni. I team che dipendono dalle API possono iniziare lo sviluppo già durante la realizzazione dei processi di back-end.

7) Comunicazione bidirezionale in tempo reale. Crea applicazioni di comunicazione bidirezionale in tempo reale, come applicazioni chat e pannelli di controllo streaming e notifiche senza dover eseguire o gestire alcun server. API Gateway mantiene una continua connessione tra gli utenti connessi e consente il trasferimento di messaggi tra loro.

Amazon API Gateway offre due opzioni per creare API RESTful, API HTTP e API REST, nonché un'opzione per creare API WebSocket.

API HTTP: le API HTTP sono ottimizzate per costruire API che eseguono il proxy sulle funzioni AWS Lambda o backend HTTP e sono quindi le più indicate per carichi di lavoro serverless. Al momento, non offrono funzionalità di gestione delle API.

REST API: le REST API offrono la funzionalità proxy API e le funzionalità di gestione in un'unica soluzione. Le API REST offrono funzionalità di gestione delle API quali piani di utilizzo, chiavi delle API, pubblicazione e monetizzazione delle API.

API WebSocket: le API WebSocket mantengono una connessione continua tra i client connessi per consentire la comunicazione di messaggi in tempo reale. Con le API WebSocket nel gateway API, è possibile definire le integrazioni di back-end attraverso funzioni AWS Lambda, Amazon Kinesis o qualsiasi endpoint HTTP che venga richiamato quando i client connessi ricevono i messaggi.

Per cominciare a utilizzare le API HTTP, puoi usare la console di Amazon API Gateway, l’interfaccia a riga di comando AWS, le SDK AWS o AWS CloudFormation. Per ulteriori informazioni su come iniziare con le API HTTP, consulta la nostra documentazione.

Per cominciare a utilizzare le API REST, puoi usare la console di Amazon API Gateway, l’interfaccia a riga di comando AWS o le SDK AWS. Per ulteriori informazioni su come iniziare con le API REST, consulta la nostra documentazione.

Puoi costruire API RESTful utilizzando sia API HTTP che API REST in Amazon API Gateway.

Le API HTTP sono ottimizzate per costruire API che eseguono il proxy sulle funzioni Lambda o back-end HTTP: per questo motivo, sono le più indicate per carichi di lavoro serverless. Le API HTTP sono un’alternativa più rapida e conveniente delle API REST, ma non supportano funzionalità di gestione API al momento. Le API REST sono pensate per API che richiedono funzionalità proxy e di gestione delle API riunite in un’unica soluzione.

Le API HTTP sono ideali per:

  1. Costruire API proxy per AWS Lambda o qualsiasi endpoint HTTP
  2. Costruire API moderne corredate di sistemi di autenticazione OIDC e OAuth 2. 
  3. Carichi di lavoro che si prevede assumano enormi dimensioni
  4. API per carichi di lavoro sensibili alla latenza
 
Le API REST sono ideali per:
 
  1. Clienti che desiderano pagare un’unica tariffa per un gruppo tutto incluso di funzionalità necessarie per costruire, gestire e pubblicare le proprie API. 

Le API HTTP offrono funzionalità standard quali supporto CORS, sistemi di autenticazione e autorizzazione OIDC e OAuth2 e distribuzioni automatiche per fasi.

Sì, è possibile importare una definizione API utilizzando OpenAPI 3. Ciò ti permetterà di creare route, integrazioni e modelli API. Per ulteriori informazioni su come importare le definizioni OpenAPI, consulta la nostra documentazione.

Per migrare la tua API REST attuale su un’API HTTP in Amazon API Gateway, segui i seguenti passaggi:

  1. Controlla che tutte le funzionalità di cui hai bisogno siano disponibili in HTTP. Per una lista completa delle funzionalità, consulta la nostra documentazione
  2. Vai sulla tua API REST ed esporta la definizione OpenAPI dalla stessa
  3. Vai sulla tua API HTTP e importa la definizione OpenAPI ottenuta tramite il passaggio precedente
  4. Testa che le funzioni dell’API funzioni come previsto
  5. Aggiorna i tuoi client con il nuovo URL

Sebbene le tue API possano funzionare, potrai notare alcune funzionalità mancanti. Per identificare qualsiasi funzionalità mancante, rivedi i campi Info, Warning ed Error relativi all'operazione di importazione. Per ulteriori informazioni su come migrare API REST su API HTTP, consulta la nostra documentazione.

Innanzitutto, vai sulla tua API REST ed esporta la definizione OpenAPI dalla stessa Quindi, vai sulla tua API HTTP e importa la definizione OpenAPI ottenuta tramite il passaggio precedente Sebbene le tue API possano funzionare, potrai notare alcune funzionalità mancanti. Per identificare qualsiasi funzionalità mancante, rivedi i campi Info, Warning ed Error relativi all'operazione di importazione. L’interfaccia a riga di comando di AWS ti permetterà di visualizzare le informazioni relative alla tua API presenti nei campi Info e Warning. Per ulteriori informazioni, consulta la documentazione.

Per iniziare, puoi creare o aggiornare un'API WebSocket utilizzando la console di gestione AWS, la CLI AWS o gli SDK AWS. È possibile quindi impostare l'instradamento WebSocket per indicare i servizi di back-end come AWS Lambda, Amazon Kinesis o l'endpoint HTTP da richiamare in base al contenuto del messaggio. Consulta la documentazioneper iniziare con le API WebSocket in API Gateway.

Sì, tutte le API create con Amazon API Gateway si collegano solo a endpoint HTTPS. Amazon API Gateway non supporta gli endpoint non crittografati (HTTP). Di default, Amazon API Gateway assegna un dominio interno alle API che utilizzano automaticamente il certificato di Amazon API Gateway. Quando le API vengono configurate per funzionare con un nome di dominio personalizzato, è possibile fornire il proprio certificato per il dominio.

Le API create su Amazon API Gateway accettano qualsiasi payload inviato tramite API HTTP, REST e WebSocket. I formati di dati più comuni sono JSON, XML, parametri della stringa di query e intestazioni delle richieste. È possibile dichiarare qualsiasi tipo di contenuto per le risposte delle API, utilizzando quindi modelli di trasformazione per convertire la risposta del back-end nel formato desiderato.

Amazon API Gateway può eseguire le funzioni AWS Lambda presenti nell'account, avviare le macchine a stati AWS Step Functions o generare chiamate verso endpoint HTTP ospitati su AWS Elastic Beanstalk, Amazon EC2 e sistemi basati su HTTP non ospitati su AWS accessibili tramite la rete Internet pubblica, L'API Gateway consente inoltre di specificare un modello di mappatura per generare un contenuto statico da restituire, permettendoti di simulare il funzionamento delle API prima che il back-end sia pronto. È anche possibile integrare API Gateway direttamente con altri servizi AWS; ad esempio è possibile richiamare un metodo API in API Gateway che invii dati direttamente ad Amazon Kinesis.

API Gateway genera kit SDK personalizzati per lo sviluppo di app mobili con Android e iOS (Swift e Objective-C) e di app Web con JavaScript. API Gateway supporta inoltre la generazione di SDK per Ruby e Java. Una volta definite le API e i relativi modelli in API Gateway, è possibile usare la console di AWS o le API di API Gateway per generare e scaricare un kit SDK client. Gli SDK del client sono solo generati per le API REST in Amazon API Gateway.

Per scoprire in quali regioni sono disponibili le API HTTP, REST API e API WebSocket, consulta la tabella delle regioni AWS qui.

Tramite la console di Amazon API Gateway è possibile definire le API REST e i relativi metodi e risorse associati, gestire il ciclo di vita delle API, generare kit SDK client e visualizzare i parametri delle API. È anche possibile usare la console di API Gateway per definire i piani di utilizzo delle API, gestire le chiavi API degli sviluppatori e definire throttling e quote. Le stesse azioni sono disponibili tramite le API di API Gateway.

Una risorsa è un oggetto con tipo che fa parte del dominio dell'API. A ciascuna risorsa può essere associato un modello di dati e una relazione ad altre risorse, e può rispondere a diversi metodi. Inoltre, è possibile definire risorse come variabili per intercettare le richieste provenienti da diverse risorse figlio.

Ogni risorsa in un'API REST può supportare uno o più metodi HTTP standard. Puoi definire quali verbi saranno supportati per ciascuna risorsa (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) con le relative implementazioni. Ad esempio, un verbo GET associato alla risorsa "cars" restituisce un elenco di automobili. Per connettere tutti i metodi all'interno di una risorsa a un singolo endpoint di back-end, API Gateway supporta inoltre il metodo speciale "ANY".

I piani di utilizzo aiutano a restringere l'accesso degli sviluppatori di terze parti a solo determinate API, definiscono la limitazione e richiedono i limiti di quota e li associano alle chiavi API. Puoi anche estrarre i dati di utilizzo in base alla chiave API per analizzare l'utilizzo dell'API e generare documenti di fatturazione. Ad esempio, puoi creare un piano di utilizzo di base, uno per professionisti e uno per aziende, configurando ciascun piano affinché consenta fino a 1.000 richieste al giorno e fino a 5 richieste al secondo.

Con Amazon API Gateway, ogni API REST può attraversare diverse fasi di sviluppo. Le fasi di sviluppo semplificano il ciclo di vita dello sviluppo di un'API; ad esempio, dopo aver creato le API e averle distribuite nella fase di "sviluppo", oppure quando sono pronte per la produzione, è possibile distribuirle nella fase di "produzione".

In Amazon API Gateway, le fasi sono simili a tag. Definiscono il percorso lungo il quale è possibile accedere allo sviluppo. Ad esempio è possibile definire una fase di sviluppo e distribuirvi l'API "cars" relativa alle automobili. La risorsa sarà accessibile all'indirizzo https://www.myapi.com/dev/cars. È anche possibile impostare nomi di dominio personalizzati per reindirizzare direttamente a una fase specifica, per non dover utilizzare ulteriori parametri nel percorso. Se ad esempio il sito lemieapi.com porta direttamente nella fase di sviluppo, per accedere alla risorsa "cars" è sufficiente visitare https://www.myapi.com/cars. Per configurare le fasi, è possibile impiegare variabili a cui accedere dalla configurazione dell'API o da modelli di mappatura.

Le variabili di una fase consentono di definire le coppie chiave-valore dei valori di configurazione associati con una fase. Questi valori, analogamente a quanto avviene per le variabili ambientali, possono essere utilizzati nella configurazione dell'API. Ad esempio, è possibile definire l'endpoint HTTP per l'integrazione di un metodo come variabile di una fase e utilizzare la variabile nella configurazione dell'API, evitando di intervenire nel codice dell'endpoint; in questo modo potrai usare un diverso endpoint per ciascuna fase (ad esempio fase di sviluppo, beta e produzione) con la stessa configurazione API. È possibile accedere alle variabili di una fase anche tramite i modelli di mappatura, e possono essere usate per inoltrare parametri di configurazione a back-end Lambda o HTTP.

Una Resource Policy è un documento di policy JSON che si allega a un'API per controllare se un determinato responsabile (solitamente un utente o un ruolo IAM) può invocare l'API. Puoi usare una Resource Policy per consentire agli utenti di un altro account AWS di accedere in sicurezza alla tua API o o per consentire all'API di essere invocata solo da uno specifico intervallo di indirizzi IP o blocchi CIDR sorgenti. Le politiche delle risorse possono essere utilizzate con le API REST in Amazon API Gateway.

Amazon API Gateway salva uno storico delle distribuzioni. Usando le API o la console di Amazon API Gateway, è possibile riportare a una fase differente una distribuzione già completata.

Sì. Puoi usare il nostro Strumento di importazione Swagger open source per importare le definizioni delle API di Swagger in Amazon API Gateway. Con lo strumento di importazione Swagger puoi creare e distribuire nuove API e aggiornare quelle esistenti.

Per monetizzare le API in API Gateway, è possibile pubblicarle come prodotti in AWS Marketplace. Sarà prima necessario registrarsi come venditore in AWS Marketplace, inviando i propri piani di utilizzo su API Gateway come prodotti. Leggi questa pagina per ulteriori informazioni sulla monetizzazione delle API.

API Gateway offre la possibilità di creare, aggiornare ed eliminare la documentazione associata a ciascuna porzione dell'API, ad esempio metodi e risorse. Puoi accedere alle API relative alla documentazione tramite kit SDK AWS, interfaccia a riga di comando, chiamate RESTful o modificando direttamente le stringhe della documentazione nella console di API Gateway. La documentazione può anche essere importata come file Swagger, insieme all'API o separatamente, consentendoti di aggiungere elementi o aggiornare la documentazione senza intervenire sulla definizione dell'API. API Gateway è conforme alle specifiche Open API relative alla documentazione importata da o esportata su file di Swagger. La documentazione è supportata per le API REST nel Gateway API.

Oltre ad offrire supporto per documentazione di API conforme agli standard, API Gateway ne supporta anche l'ereditarietà, perciò è semplice definire una stringa di documentazione da utilizzare in più posizioni. L'ereditarietà semplifica il processo di definizione della documentazione dell'API e può essere convertita alla rappresentazione standard al momento dell'esportazione dell'API come file Swagger.

Sì, puoi applicare una Resource Policy a un'API per limitare l'accesso a uno specifico Amazon VPC o endpoint VPC. Puoi anche concedere a un Amazon VPC o endpoint VPC di un diverso account l'accesso all'API privata utilizzando una Resource Policy.

Sicurezza e autorizzazioni

Con Amazon API Gateway, è possibile impostare metodi API per richiedere l'autorizzazione. Per impostare un metodo che richieda un'autorizzazione, è possibile impiegare la versione 4 del protocollo di firma di AWS, oppure provider di autorizzazione Lambda che supportino la strategia di autorizzazione dei token di connessione.

Le credenziali di AWS (chiavi segrete e di accesso) possono essere impiegate per firmare le richieste verso i servizi e autorizzare gli accessi come qualsiasi altro servizio AWS. La firma di una richiesta API di Amazon API Gateway viene gestita dal kit SDK personalizzato di API Gateway generato per il tuo servizio. Puoi recuperare le credenziali temporanee associate con un ruolo nel tuo account AWS tramite Amazon Cognito.

I provider di autorizzazione Lambda sono funzioni di AWS Lambda. Con un provider di autorizzazione personalizzato, è possibile impostare le autorizzazioni di accesso delle API tramite token di connessione, ad esempio OAuth. Quando viene richiamata un'API, API Gateway verifica che il provider di autorizzazione Lambda sia stato configurato, quindi richiama la funzione Lambda a cui corrisponde il token di autorizzazione in entrata. Potrai usare Lambda per implementare varie strategie di autorizzazione (ad esempio verifica tramite JWT, o callout di fornitori OAuth) che restituiscano policy di IAM utilizzate per autorizzare una richiesta. Se la policy restituita dal provider di autorizzazione è valida, API Gateway memorizzerà nella cache la policy associata con il token in entrata per un massimo di 1 ora.

Sì. API Gateway può generare chiavi API e associarle con piani di utilizzo. Le chiamate ricevute da ciascuna chiave API vengono monitorate e incluse in Amazon CloudWatch Logs, attivabile per ogni fase di sviluppo. Tuttavia l'uso delle chiavi API per definire le autorizzazioni è sconsigliato. È più conveniente usare le chiavi API per monitorare l'utilizzo da parte degli sviluppatori di terze parti e stabilire le autorizzazioni sfruttando meccanismi più sicuri, ad esempio le chiamate API firmate oppure OAuth.

Il gateway API supporta la configurazione di throttling per ciascun metodo o instradamento nell'API. È possibile impostare un limite standard e un limite temporizzato al secondo per ogni metodo nell'API REST e ogni instradamento nelle API del WebSocket. Inoltre, il gateway API protegge automaticamente i sistemi back-end dagli attacchi DDoS (Distributed Denial of Service) provenienti da richieste contraffatte, di livello 7, oppure attacchi SYN flood (livello 3).

Sì. Amazon API Gateway può generare un certificato SSL lato client e rendere disponibile la chiave pubblica per tale certificato. Le chiamate al back-end possono essere inoltrate con il certificato generato, e potrai verificare le chiamate provenienti da Amazon API Gateway utilizzando la chiave pubblica del certificato.

Sì. Gateway Amazon API si integra con AWS CloudTrail per fornire una cronologia completa e disponibile per l'audit delle modifiche alle REST API. Tutte le chiamate API effettuate verso le API di Amazon API Gateway per creare, modificare, eliminare o distribuire API REST vengono registrate su CloudTrail nell'account AWS.

In Amazon API Gateway puoi effettuare il proxy delle richieste verso le risorse HTTP/HTTPS del back-end in esecuzione nell'Amazon VPC impostando Private Integrations (Integrazioni private) nell'uso dei collegamenti VPC. I certificati SSL lato client in Amazon API Gateway possono essere utilizzati per verificare che le richieste ai sistemi backend siano inviate da API Gateway utilizzando la chiave pubblica del certificato. Puoi anche creare API private in Amazon API Gateway alle quali possono accedere solo le risorse all'interno del tuo Amazon VPC tramite gli endpoint Amazon VPC.

Se utilizzi API REST, puoi impostare una distribuzione CloudFront con certificato SSL personalizzato nel tuo account e utilizzarla con le API regionali nell'API Gateway. Puoi quindi configurare la policy di sicurezza per la distribuzione CloudFront con TLS 1.1 o versione successiva in base ai tuoi requisiti di sicurezza e conformità.

Gestione, parametri e registrazione di log

Amazon API Gateway registra le chiamate API, la latenza e le percentuali di errore in Amazon CloudWatch nell'account AWS. I parametri sono inoltre disponibili tramite la console di Amazon API Gateway nel pannello di controllo relativo alle API REST. API Gateway, inoltre, monitora l'utilizzo da parte di sviluppatori di terze parti; i dati risultati sono disponibili nella console di API Gateway o tramite le API.

Sì, Amazon API Gateway invia i dati di log e i parametri ad Amazon CloudWatch. È possibile utilizzare la console di Amazon CloudWatch per impostare allarmi personalizzati.

Di default, Amazon API Gateway monitora il traffico a livello di API REST. Eventualmente, è possibile abilitare parametri dettagliati per ciascun metodo nell'API REST tramite le API di configurazione della distribuzione o dalla console. I parametri dettagliati vengono anche registrati su Amazon CloudWatch; vengono applicate le tariffe di CloudWatch.

Sì. I parametri includono API REST e fase di sviluppo. Inoltre, è possibile abilitare i parametri per ogni metodo all'interno dell'API REST.

Sì. Amazon API Gateway si integra con Amazon CloudWatch Logs. È anche possibile abilitare la registrazione di log per ogni fase di sviluppo dell'API. Per ogni metodo all'interno dell'API REST, è possibile stabilire il livello di dettaglio del log e se devono essere inclusi tutti i dati della richiesta e della risposta.

Log, allarmi, percentuali di errore e altri parametri vengono salvati in Amazon CloudWatch e sono disponibili quasi in tempo reale.

Limitazione delle richieste e memorizzazione nella cache

Amazon API Gateway offre limitazione delle richieste a più livelli, anche a livello globale o per chiamata di servizio. Le restrizioni consentite da questa funzione prevedono frequenze standard ed eventuali picchi. Ad esempio il proprietario di un'API può limitare le richieste a 1.000 al secondo per un determinato metodo sulle API REST, configurando anche Amazon API Gateway in modo che gestisca i picchi fino a 2.000 richieste al secondo per alcuni secondi. Amazon API Gateway monitora il numero di richieste al secondo. Qualsiasi richiesta oltre il limite riceve una risposta HTTP 429. Quando soddisfa questo tipo di risposta, il kit SDK client (tranne Javascript) generato da Amazon API Gateway tenta automaticamente nuove chiamate.

Sì. Con i piani di utilizzo puoi impostare il throttling per le singole chiavi API.

La limitazione delle richieste mantiene il traffico dell'API sotto controllo per aiutare i servizi di back-end a mantenere prestazioni e disponibilità elevate.

Le impostazioni di limitazione possono essere configurate a livello di metodo. È possibile modificare i limiti nelle impostazioni del metodo tramite le API o la console di Amazon API Gateway.

Le impostazioni relative al throttling di API Gateway vengono applicate nel seguente ordine: 1) limiti per client per metodo che vengono impostati per una fase API in un piano di utilizzo, 2) limiti del throttling per client che vengono impostati in un piano di utilizzo, 3) limiti per metodo predefiniti e limiti per metodo individuali che vengono impostati nella configurazione della fase API, 4) throttling a livello di account per regione.

Sì. È possibile aggiungere la funzione di memorizzazione nella cache alle chiamate API facendone richiesta tramite API Gateway e specificandone le dimensioni in gigabyte. La cache viene assegnata a una fase di sviluppo specifica dell'API. In questo modo le prestazioni risultano migliorata e il traffico in invio al back-end è alleggerito. Le impostazioni della cache consentono di controllare come viene creata la chiave di cache e il time-to-live (TTL) dei dati salvati per ogni metodo. Il gateway API fornisce inoltre API di gestione che aiutano a invalidare la cache per ciascuna fase. La cache è disponibile per le API REST nel gateway API.

Se la memorizzazione nella cache non è stata abilitata e non è applicata alcuna restrizione, tutte le richieste raggiungeranno il servizio di back-end finché non vengono raggiunti i limiti di richieste dell'account. Se le limitazioni alle richieste sono attive, Amazon API Gateway filtrerà un certo numero di richieste in modo che solo il numero desiderato raggiunga il servizio di back-end. Se è stata impostata la memorizzazione in cache, Amazon API Gateway invierà una risposta memorizzata nella cache alle richieste duplicate durante l'intervallo di tempo configurato, ma solo se rientrano all'interno dei limiti di throttling definiti. Questo equilibrio tra back-end e client garantisce le prestazioni ottimali dell'API per le applicazioni che supporta. Le richieste respinte a causa della limitazione verranno automaticamente ripetute dal kit SDK lato client generato da Amazon API Gateway. Di default, Amazon API Gateway non imposta memorizzazione nella cache sui metodi dell'API.

Amazon API Gateway agisce come proxy nei confronti delle attività di back-end configurate. Amazon API Gateway ridimensiona automaticamente le risorse per gestire il traffico in entrata dell'API. Amazon API Gateway non applica alcuna limitazione o restrizione arbitrarie alle chiamate verso il back-end; tutte le richieste che non vengono intercettate dalle impostazioni di limitazione delle richieste o di memorizzazione nella cache nella console di Amazon API Gateway vengono inviate ai sistemi di back-end.

Fatturazione

Amazon API Gateway addebita per milione di chiamate API, più il costo del trasferimento dati in uscita, in gigabyte. L'eventuale spazio di caching per l'API prevede una tariffa oraria. Per le API WebSocket, il gateway API fattura in base ai messaggi inviati e ricevuti e al numero di minuti in cui un client è connesso all'API. Per i dettagli sulle tariffe per le chiamate API, il trasferimento dati e la memorizzazione nella cache per regione, consulta la pagina dei prezzi di Gateway API.

Le chiamate sono addebitate al proprietario dell'API.

Sì. Le chiamate API vengono conteggiate per la fatturazione sia quando la risposta viene gestita dalle attività del back-end, sia quando viene gestita dalle attività di memorizzazione nella cache di Amazon API Gateway.

API WebSocket

L'instradamento WebSocket in Amazon API Gateway è utilizzato per instradare correttamente i messaggi a un'integrazione specifica. Specificare una chiave di instradamento e un beck-end di integrazione da richiamare quando viene definita l'API WebSocket. La chiave di instradamento è un attributo nel corpo del messaggio. È inoltre possibile impostare un'integrazione predefinita per le chiavi di instradamento non corrispondenti. Per ulteriori informazioni sull'instradamento, consultare la documentazione.

Quando viene collegato un nuovo client all'API WebSocket, un unico URL, chiamato URL di callback, viene creato per tale client. È possibile utilizzare questo URL di callback per inviare messaggi al client dal servizio di back-end.

Con Amazon API Gateway, puoi usare i ruoli e le policy IAM o le autorizzazioni AWS Lambda per autorizzare l'accesso alle API WebSocket.

Quando un client è collegato o scollegato, verrà inviato un messaggio dal servizio Amazon API Gateway alla funzione AWS Lambda di beck-end o l'endpoint HTTP utilizzando gli instradamenti $connect e $disconnect. È possibile eseguire azioni appropriate come aggiungere o rimuovere il client per l'elenco di utenti collegati.

È possibile utilizzare il metodo GET dell'URL di callback nella connessione per identificare se il client è collegato alla connessione WebSocket. Fare riferimento alla documentazione sull'utilizzo di un URL di callback.

Sì, puoi scollegare il client collegato dal servizio di back-end utilizzando l'URL di callback.

La dimensione del messaggio massima supportata è 128 KB. Consulta la documentazione per altri limiti delle API WebSocket.

Verranno addebitati costi in base a 2 parametri: minuti di connessione e numero di messaggi.

Minuti di connessione: numero totale dei minuti in cui i client o i dispositivi sono collegati al WebSocket (arrotondati a un minuto).

Messaggi: numero totale di messaggi inviati e ricevuti dai client collegati. I messaggi vengono addebitati con incrementi di 32 KB. Fare riferimento alla pagina dei prezzi per ulteriori dettagli sui prezzi e gli esempi dell'API WebSocket.

No, se i messaggi nella connessione WebSocket restituiscono un errore di autenticazione o autorizzazione, non verranno addebitati sulla fattura di utilizzo dell'API.