Funzionamento di Gestione API di Azure

Completato

In questa unità viene illustrato il funzionamento di Gestione API di Azure da tre punti di utilizzo. Queste informazioni consentono di continuare a valutare se Gestione API di Azure è una buona soluzione per la gestione delle API dell'organizzazione.

In questa unità si apprenderà come funziona Gestione API di Azure per i tipi di utente seguenti:

  • Consumer di API
  • Provider di API
  • Sviluppatori di app

Funzionamento di Gestione API di Azure per i consumer di API

Un consumer di API è un'entità che effettua una richiesta di dati all'API. Ad esempio, una di queste entità può essere un consumer di API:

  • App per dispositivi mobili
  • Applicazione Web
  • Dispositivo IoT

Il componente chiave di Gestione API di Azure per i consumer è il gateway. Ciò è dovuto al fatto che tutte le chiamate API del consumer vengono prima instradate all'endpoint del gateway. I consumer di API interagiscono solo direttamente con il gateway e mai con l'istanza di distribuzione dell'API effettiva.

Il gateway esegue molte attività dal punto di vista del consumer, ma le seguenti sono le più importanti:

  • Autenticazione. Il gateway monitora l'accesso all'API verificando le chiavi di sottoscrizione del consumer, i token JWT e altre credenziali.
  • Sicurezza. Il gateway impedisce l'uso improprio dell'API tramite l'applicazione di limiti di frequenza predefiniti e quote di utilizzo del consumer o convalidando le richieste e le risposte rispetto allo schema dell'API.
  • Trasformazione. Il gateway trasforma la richiesta o la risposta dell'API in base alle esigenze. Ad esempio, se il servizio back-end risponde con dati XML, è possibile modernizzare l'API trasformando il codice XML in JSON automaticamente, come illustrato nell'immagine che segue.
  • Routing. Dopo l'autenticazione, la convalida e la trasformazione di una richiesta API, il gateway instrada la chiamata al servizio back-end in cui viene distribuita l'API.
  • Prestazioni. Il gateway può archiviare la risposta dell'API back-end in una cache. Nelle situazioni in cui la risposta back-end è statica nel tempo, l'invio delle risposte successive dalla cache offre ai consumer tempi di risposta più rapidi e riduce il carico sul server back-end.

A mobile app requests a weather forecast using an API. The Azure API Management gateway routes the call to the backend server and then converts the server's XML response to JSON before returning it to the mobile app.

Funzionamento di Gestione API di Azure per i provider di API

I provider di API devono eseguire ancora diverse operazioni dopo la pubblicazione delle API. Queste operazioni includono:

  • Impostazione dei criteri delle API
  • Gestione dei consumer di API
  • Gestione delle revisioni e delle versioni delle API
  • Monitoraggio e analisi delle API

È possibile eseguire tutte queste attività e altro ancora usando l'interfaccia di amministrazione di Gestione API di Azure nel portale di Azure. In alternativa, usando strumenti come l'interfaccia della riga di comando di Azure o Azure PowerShell. Oltre a consentire l'impostazione dei criteri API (come illustrato nell'unità precedente), l'interfaccia di amministrazione consente di eseguire le attività seguenti:

  • Definire e importare le specifiche dell'API. Importare una specifica OpenAPI, un'API REST, un'API SOAP (Simple Object Access Protocol) (che è possibile convertire facoltativamente in REST), un'API WebSocket o un'API GraphQL. È anche possibile creare un'API importando le istanze dei servizi di Azure seguenti: app Web, app per le funzioni, app per la logica e Service Fabric. È anche possibile creare un'API vuota e definirla manualmente.
  • Gestisci utenti e gruppi.
    • Un utente è un account per sviluppatore. Si tratta di un account per un consumer di API. Sebbene sia possibile aggiungere gli utenti manualmente o invitare gli utenti a creare un account, la maggior parte degli utenti crea i propri account usando il portale per sviluppatori.
    • Un gruppo è un insieme di utenti correlati. È possibile associare un gruppo a un prodotto API specifico in modo che ogni utente del gruppo avrà accesso al prodotto nel portale per sviluppatori.
  • Creare pacchetti di API nei prodotti. In Gestione API di Azure un prodotto è un gruppo di API correlate. Inserendo più API in un singolo prodotto, è possibile configurare solo il prodotto anziché configurare tutte le API separatamente. Ad esempio, è possibile impostare limiti di frequenza e altri criteri, definire le condizioni per l'utilizzo, aggiungere gruppi e così via. Questa configurazione viene applicata a tutte le API del prodotto. Dopo aver pubblicato il prodotto, i consumer possono effettuare una sottoscrizione e usare le API con un'unica chiave di sottoscrizione.
  • Gestire le revisioni e le versioni delle API. Quando il team per sviluppatori di API deve apportare modifiche a un'API, esporre la modifica in modo sicuro e controllato che non influisce negativamente sui consumer usando revisioni e versioni:
    • Una revisione è una modifica relativamente secondaria o non di rilievo di un'API. Il team di sviluppo può codificare e testare la revisione separatamente dall'API di produzione, come illustrato nell'immagine che segue. Quindi, quando la revisione è pronta per i consumer, è possibile usare l'interfaccia di amministrazione di Gestione API di Azure per impostare l'API aggiornata come revisione corrente.
    • Una versione è una modifica relativamente importante o di rilievo di un'API. Gestione API di Azure consente di offrire agli sviluppatori più versioni dell'API contemporaneamente. Offre anche diversi schemi di controllo delle versioni, tra cui il controllo delle versioni basato su percorso, basato su intestazione e basato su stringhe di query.
  • Monitorare e analizzare le API. L'interfaccia di amministrazione include strumenti di monitoraggio predefiniti che consentono di esaminare il traffico API in tempo reale e analisi che consentono di ricavare informazioni dettagliate sul modo in cui i consumer usano le API pubblicate. Gestione API di Azure supporta anche diversi strumenti di Azure per il monitoraggio delle API e l'esecuzione di carichi di lavoro di analisi. I servizi di Azure supportati da Gestione API di Azure includono il controllo delle API, i log di Monitoraggio di Azure, Application Insights e Event Hubs.

Depiction of how revisions work in Azure API Management. API requests from consumers are routed to the current revision of the API, whereas API requests from the in-house development team are routed to the API revision.

Funzionamento di Gestione API di Azure per gli sviluppatori di app

Ad eccezione del livello Consumo, tutte le istanze di Gestione API di Azure includono un portale per sviluppatori in cui le API vengono esposte ai consumer di API potenziali ed esistenti. Il portale per sviluppatori include un'interfaccia predefinita personalizzabile in base alla personalizzazione e ai requisiti dell'organizzazione.

Gli sviluppatori di app con account per sviluppatore accedono al portale per sviluppatori (che accetta anche gli utenti guest che non hanno ancora un account). Agli sviluppatori viene quindi presentata un'interfaccia Web che consente loro di interagire con le API nei modi seguenti:

  • Eseguendo l'accesso alla documentazione dell'API. Gli sviluppatori possono esaminare la documentazione fornita per ogni API.
  • Eseguendo il test di un'API. Il portale per sviluppatori offre una console interattiva che consente a uno sviluppatore di testare un'API in modo rapido e sicuro. Lo sviluppatore può scegliere un'operazione API, aggiungere i valori dei parametri e quindi inviare la chiamata per determinare la risposta restituita dall'API.
  • Rivedendo gli esempi di codice dell'API. Il portale per sviluppatori offre esempi di chiamate API in diversi linguaggi di programmazione, tra cui C#, Java, JavaScript, PHP e Python.
  • Effettuando una sottoscrizione a un'API. Quando un consumer decide di usare l'API, il portale per sviluppatori consente all'utente di creare una sottoscrizione all'API e ottenere una chiave di sottoscrizione da usare per la chiamata all'API.
  • Eseguendo analisi. Il portale per sviluppatori offre analisi sull'utilizzo di un'API da parte dello sviluppatore.