Sviluppo di proxy API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Esponi le API su Apigee implementando i proxy API. I proxy API disaccoppiano l'API rivolta alle app dai servizi di backend, proteggendo queste app dalle modifiche al codice del backend.

Sviluppa i tuoi proxy API utilizzando Apigee in Cloud Code, come descritto nelle sezioni seguenti. Vedi anche Gestire cartelle e file in un'area di lavoro Apigee.

Creazione di un proxy API

Per creare un proxy API utilizzando Apigee in {code_name}}:

  1. Esegui una delle seguenti azioni:

    • Nella sezione Apigee, posiziona il cursore sulla cartella apiproxies e fai clic su Icona Crea.

      + viene visualizzato quando posizioni il cursore sulla cartella apiproxies

    • Seleziona Visualizza > Tavolozza dei comandi per aprire la tavolozza dei comandi e seleziona Cloud Code: Crea bundle proxy Apigee.

    Viene visualizzata la procedura guidata Crea proxy.

  2. Seleziona una delle seguenti opzioni:

    Tipo Descrizione
    Reverse proxy

    Un proxy API che indirizza le richieste in entrata ai servizi di backend HTTP esistenti. Può essere un'API JSON o XML. Consulta Creazione di un proxy inverso per un servizio HTTP più avanti in questa sezione.

    No target

    Un proxy API senza backend API ("nessuna destinazione"). Come per la creazione di un proxy inverso per un servizio HTTP, l'unica differenza consiste nel dover specificare un URL di destinazione esistente quando si definiscono i dettagli del proxy API.

Le seguenti sezioni descrivono i passaggi aggiuntivi necessari per creare ciascun tipo di proxy API.

Creazione di un proxy inverso per un servizio HTTP

Apigee genera proxy API inversi in base alle seguenti informazioni:

  • URL del servizio di backend
  • Percorso URI che identifica in modo univoco l'API che verrà esposta dal proxy API alle app consumer

Quando selezioni Inverti proxy durante la creazione di un proxy API, ti verranno chieste i dettagli relativi all'autenticazione di sicurezza e ai dettagli del proxy API descritti nelle tabelle seguenti.

Per Autenticazione di sicurezza, seleziona una delle seguenti opzioni:

Autenticazione di sicurezza Descrizione
API key based authentication

Aggiunge una semplice verifica della chiave API al proxy API che stai definendo. Apigee aggiunge automaticamente i seguenti criteri al proxy API:

  • VerificationAPIKey per convalidare le chiavi API presentate richiedendo le app.
  • AttributionMessage per eliminare la chiave API, fornita nella chiamata API come parametro di query, dalla richiesta inoltrata al server di backend.
Access token based authentication

Aggiunge l'autenticazione basata su OAuth 2.0 al proxy API. Apigee aggiunge automaticamente i seguenti criteri al proxy API:

  • VerificationAPIKey per verificare il token di accesso.
  • Assegna un messaggio per rimuovere l'intestazione Authorization passata per l'autenticazione.
Per scoprire come eseguire l'autenticazione utilizzando i token di accesso, consulta Verifica dei token di accesso.
No authentication Nessuna autenticazione richiesta. Le richieste vengono passate al backend senza controlli di sicurezza su Apigee.

Per la sezione Dettagli del proxy API, rispondi a ogni messaggio di richiesta e premi Invio per confermare e procedere o Esc per annullare la procedura guidata:

Campo Descrizione
Backend target URL URL del servizio di backend richiamato da questo proxy API.
API proxy name Nome visualizzato per l'API. Specifica caratteri alfanumerici, trattini (-) o trattini bassi (_).
API proxy base path Frammento URI visualizzato dopo l'indirizzo http://[host] o https://[host] del proxy API. Apigee utilizza l'URI del percorso di base per associare e instradare i messaggi di richiesta in entrata al proxy API corretto.

Utilizzare caratteri jolly nei percorsi di base

Utilizza uno o più caratteri jolly /*/ nei percorsi di base dei proxy API per rendere i tuoi proxy API a prova di futuro. Ad esempio, un percorso di base di /team/*/members consente ai clienti di chiamare https://[host]/team/blue/members e https://[host]/team/green/members senza dover creare nuovi proxy API per supportare i nuovi team. Tieni presente che /**/ non è supportato.

Dopo aver completato i passaggi della procedura guidata, la nuova cartella apiproxy-name viene aggiunta in apiproxies nella sezione Apigee. Ogni cartella del proxy API è strutturata come descritto nella sezione Struttura della directory di configurazione del proxy API.

Di seguito è riportato un esempio della configurazione predefinita creata per un proxy API inverso denominato helloworld con criteri aggiunti per supportare l'autenticazione basata su chiave API.

Mostra la struttura delle cartelle di un proxy inverso nella sezione Apigee.

Per una descrizione della configurazione predefinita, consulta Esplorazione della configurazione predefinita del proxy API.

Creazione di un proxy API senza destinazione di backend

Il processo di creazione di un proxy API senza destinazione di backend è uguale alla creazione di un proxy inverso, ad eccezione del fatto che non ti viene richiesto di specificare un URL per il servizio di backend (Target (Existing API)) e la configurazione predefinita dell'endpoint di destinazione non è inclusa. Per ulteriori informazioni, vedi Creazione di un proxy inverso per un servizio HTTP.

Esplorazione della configurazione predefinita del proxy API

La seguente tabella riassume i contenuti inclusi nella configurazione predefinita quando crei un proxy API in base al tipo di proxy API e alle opzioni di autenticazione selezionate.

Proxy file di configurazione inverso
proxy inverso
Nessun target
Autenticazione OAuthV2
Autenticazione con chiave API
proxies/default.xml
Configurazione predefinita degli endpoint proxy.
   
targets/default.xml
Configurazione predefinita dell'endpoint di destinazione.
     
impose-quota.xml
Criteri per le quote per definire una quota predefinita.
   
remove-header-authorization.xml
CriterioAssignMessage per rimuovere l'intestazione Authorization che viene passata per l'autenticazione.
    >
 
remove-query-param-apikey.xml
CriterioAssignMessage per rimuovere il parametro di query apikey che viene passato per l'autenticazione.
     
verify-api-key.xml
Criterio VerificationAPIKey per applicare la verifica delle chiavi API.
     
verify-oauth-v2-access-token.xml
Criterio OAuthV2 per convalidare i token di accesso OAuth V2.
   
 

Caricare un bundle proxy API

Per caricare un bundle proxy API su Apigee in Cloud Code:

  1. Esegui una delle seguenti azioni:

    • Nella sezione Apigee, posiziona il cursore sulla cartella apiproxies e fai clic su Icona Carica.

    • Seleziona Visualizza > Tavolozza dei comandi per aprire la tavolozza dei comandi e seleziona Cloud Code: importa bundle proxy Apigee.

  2. Vai al bundle proxy API che vuoi caricare e fai clic su Importa proxy. Il bundle proxy API deve essere strutturato come descritto nell'articolo Struttura della directory di configurazione del proxy API.

  3. (Facoltativo) Per impostazione predefinita, per il nome del proxy API viene utilizzato il nome del file ZIP meno la sua estensione. Se si tratta di un nome non univoco, viene richiesto di specificarne uno univoco.

La cartella apiproxy-name caricata viene aggiunta in apiproxies nella sezione Apigee.

Gestione degli endpoint proxy

Come descritto in Che cos'è un proxy API?, un endpoint proxy (ProxyEndpoint) definisce il modo in cui le app client utilizzano le API. Devi configurare l'endpoint del proxy per definire l'URL del proxy API. L'endpoint proxy determina inoltre se le app accedono al proxy API tramite HTTP o HTTPS. Puoi collegare criteri all'endpoint proxy per applicare la sicurezza, i controlli delle quote e altri tipi di controllo dell'accesso e limitazione di frequenza.

Crea e configura gli endpoint proxy come descritto nelle sezioni seguenti.

Creazione di endpoint proxy

Quando crei un proxy API, viene aggiunto un endpoint proxy predefinito alla configurazione del proxy API. Per ulteriori informazioni, consulta Esplorazione della configurazione predefinita del proxy API. Puoi creare endpoint proxy aggiuntivi in base alle esigenze.

Per creare un endpoint proxy utilizzando Apigee in Cloud Code:

  1. Nella sezione Apigee, esegui una delle seguenti azioni:

    • Nella sezione Apigee, posiziona il cursore su una delle seguenti cartelle, fai clic su Icona Crea e seleziona Crea endpoint proxy:
      • apiproxy-name bundle proxy
      • apiproxy-name/apiproxy
    • Nella sezione Apigee, posiziona il cursore sulla cartella apiproxy-name/apiproxy/proxies e fai clic su Icona Crea.

    Viene visualizzata la procedura guidata Crea endpoint proxy.

  2. Inserisci i valori per il successivo insieme di prompt. Premi Invio dopo ogni passaggio per confermare e procedere o Esc per annullare.

    Campo Descrizione
    Proxy endpoint name Nome utilizzato per identificare l'endpoint proxy.
    API proxy base path Parte dell'URL utilizzato per effettuare richieste all'API. Apigee utilizza l'URL per associare e instradare le richieste in entrata al proxy API appropriato.

L'endpoint viene creato e aggiunto alla cartella apiproxy-name/apiproxy/proxies nella sezione Apigee e aperto nell'editor. Configura l'endpoint del proxy come descritto nella sezione seguente.

Configurazione degli endpoint proxy

Per configurare gli endpoint proxy, consulta le sezioni seguenti:

Gestione degli endpoint di destinazione

Come descritto in Che cos'è un proxy API?, un endpoint di destinazione (TargetEndpoint) definisce il modo in cui il proxy API interagisce con i servizi di backend. Devi configurare l'endpoint di destinazione per inoltrare le richieste al servizio di backend appropriato, definendo eventuali impostazioni di sicurezza, protocollo HTTP o HTTPS e altre informazioni sulla connessione. Puoi allegare criteri all'endpoint di destinazione per assicurarti che i messaggi di risposta siano formattati correttamente per l'app che ha effettuato la richiesta iniziale.

Crea e configura gli endpoint di destinazione come descritto in questa sezione.

Creazione di endpoint di destinazione

Quando crei un proxy API inverso, viene aggiunto un endpoint di destinazione predefinito alla configurazione del proxy API. Quando crei un proxy API senza destinazione di backend, alla configurazione del proxy API viene aggiunto solo l'endpoint del proxy predefinito e non viene aggiunto nessun endpoint di destinazione. Per ulteriori informazioni, consulta Esplorazione della configurazione predefinita del proxy API.

Crea endpoint di destinazione in base alle esigenze.

Per creare un endpoint di destinazione utilizzando Apigee in Cloud Code:

  1. Nella sezione Apigee, esegui una delle seguenti azioni:

    • Nella sezione Apigee, posiziona il cursore su una delle seguenti cartelle, fai clic su Icona Crea e seleziona Crea endpoint di destinazione:
      • apiproxy-name bundle proxy
      • apiproxy-name/apiproxy
    • Nella sezione Apigee, posiziona il cursore sulla cartella apiproxy-name/apiproxy/targets e fai clic su Icona Crea.

    Viene visualizzata la procedura guidata Crea endpoint di destinazione.

  2. Esegui i seguenti passaggi in base al tipo di endpoint di destinazione che vuoi creare:

    Tipo Procedura
    Destinazione HTTP(s) esterna

    Per definire una destinazione HTTP(s) esterna:

    1. Seleziona Target HTTP(S).
    2. Inserisci il nome dell'endpoint di destinazione in Nome endpoint di destinazione.
    3. Inserisci l'URL del servizio di backend richiamato da questo endpoint di destinazione in URL di destinazione di backend.

    Per maggiori informazioni, consulta Determinazione dell'URL dell'endpoint di destinazione.

    Concatenamento dei proxy

    Per definire come destinazione un proxy API di cui è stato eseguito il deployment localmente:

    1. Seleziona Concatenamento proxy.
    2. Inserisci il nome dell'endpoint di destinazione in Nome endpoint di destinazione.
    3. Seleziona un proxy API.
    4. Seleziona l'endpoint del proxy.

    Per saperne di più, consulta l'articolo Aggiungere i proxy insieme.

    Target con bilanciamento del carico

    Per definire un target con bilanciamento del carico utilizzando i server di destinazione definiti nell'ambiente:

    1. Seleziona Destinazione con bilanciamento del carico.
    2. Inserisci il nome dell'endpoint di destinazione in Nome endpoint di destinazione.

    Per ulteriori informazioni, consulta Configurazione di un TargetEndpoint per bilanciare il carico tra TargetServers denominati.

L'endpoint di destinazione viene creato e aggiunto alla cartella apiproxy-name/apiproxy/targets nella sezione Apigee e aperto nell'editor. Configura l'endpoint di destinazione, come descritto nella sezione seguente.

Configurazione degli endpoint di destinazione

Configura gli endpoint di destinazione, come descritto nei seguenti argomenti.