Sviluppo di proxy API

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

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

Sviluppa i 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.

      Il segno + viene visualizzato quando posizioni il cursore sulla cartella apiproxies

    • Seleziona Visualizza > Riquadro 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 instrada le richieste in entrata ai servizi di backend HTTP esistenti. Può essere un'API JSON o XML. Consulta la sezione Creare un proxy per un servizio HTTP di questa sezione.

    No target

    Un proxy API senza backend API ("nessun target"). Simile a Creazione di un proxy inverso per una richiesta HTTP servizio, ma non specificherai un URL di destinazione esistente quando che definisce i dettagli del proxy API.

Le sezioni seguenti descrivono i passaggi aggiuntivi necessari per creare ogni 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 sarà esposta dal proxy API alle app consumer

Quando selezioni Proxy inverso durante la creazione di un proxy API, ti vengono richiesti i dati per l'autenticazione di sicurezza e i dettagli del proxy API descritti nelle tabelle seguenti.

Per l'autenticazione di sicurezza, seleziona una delle seguenti opzioni:

Autenticazione di sicurezza Descrizione
API key based authentication

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

  • VerifyAPIKey per convalidare le chiavi API presentate dalle app che effettuano la richiesta.
  • AttributionMessage per rimuovere la chiave API, fornita nella chiamata API come parametro di query, da la richiesta inoltrata al server di backend.
Access token based authentication

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

  • VerificationAPIKey per verificare il token di accesso.
  • AttributionMessage 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 Non è richiesta l'autenticazione. Le richieste vengono passate al backend senza alcuna sicurezza su Apigee.

Per i dettagli del proxy API, rispondi a ciascuno dei seguenti prompt e premi Invio per confermare e procedere oppure Esc per annullare la procedura guidata:

Campo Descrizione
Backend target URL URL del servizio di backend invocato da questo proxy API.
API proxy name Nome visualizzato per l'API. Specifica caratteri alfanumerici, trattino (-) o trattino basso (_).
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 abbinare i messaggi delle richieste in arrivo e instradarli 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 /team/*/members consente ai clienti di chiamare https://[host]/team/blue/members e https://[host]/team/green/members senza che tu debba creare nuovi proxy API per supportare 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 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 target di backend

Il processo di creazione di un proxy API senza destinazione del backend è uguale alla creazione di un proxy inverso, tranne per il fatto che non ti viene chiesto 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, consulta la sezione Creazione di un proxy inverso per un servizio HTTP.

Esplorazione della configurazione predefinita del proxy API

La tabella seguente 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 inverso del file di configurazione
Inverti proxy
Nessun target
Autenticazione OAuthV2
Autenticazione con chiave API
proxies/default.xml
Configurazione dell'endpoint proxy predefinito.
   
targets/default.xml
Configurazione dell'endpoint di destinazione predefinito.
     
impose-quota.xml
Criterio di quota per definire una quota predefinita.
   
remove-header-authorization.xml
Criterio Assegna messaggio per rimuovere l'intestazione Authorization trasmessa per l'autenticazione.
    >
 
remove-query-param-apikey.xml
CriterioAssignMessage per rimuovere il parametro di query apikey passato per l'autenticazione.
     
verify-api-key.xml
Criterio VerifyAPIKey per applicare la verifica delle chiavi API.
     
Criterio verify-oauth-v2-access-token.xml
OAuthV2 per convalidare i token di accesso OAuth V2.
   
 

Caricamento di un bundle di 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 Carica icona.

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

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

  3. (Facoltativo) Per impostazione predefinita, il nome del file ZIP meno l'estensione viene utilizzato per il nome del proxy API. Se il nome non è univoco, ti verrà chiesto di inserirne uno.

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 tue API. Tu configurare l'endpoint del proxy per definire l'URL del proxy API. L'endpoint proxy inoltre determina se le app accedono al proxy API tramite HTTP o HTTPS. Puoi allegare criteri all'endpoint proxy per applicare sicurezza, controlli delle quote e altri tipi di controllo dell'accesso e della limitazione di frequenza.

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

Creazione di endpoint proxy

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

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.

    Si apre la procedura guidata Crea endpoint proxy.

  2. Inserisci i valori per la prossima serie di prompt. Premi Invio dopo ogni termine per confermare e continuare oppure Esc per annullare.

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

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

Configurazione degli endpoint proxy

Per configurare gli endpoint proxy, consulta le seguenti sezioni:

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 di backend. Configuri l'endpoint di destinazione per inoltrare le richieste al backend appropriato servizio, inclusa la definizione di impostazioni di sicurezza, il protocollo HTTP o HTTPS e altre impostazioni informazioni. Puoi collegare i 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 target come descritto in questa sezione.

Creazione di endpoint di destinazione

Quando crei un proxy API inverso, alla configurazione del proxy API viene aggiunto un endpoint di destinazione predefinito. Quando crei un proxy API senza target di backend, alla configurazione del proxy API viene aggiunto solo l'endpoint proxy predefinito, senza endpoint di destinazione. Per saperne di più, consulta Esplorazione della configurazione predefinita del proxy API.

Crea gli endpoint di destinazione, come richiesto.

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 proxy bundle
      • apiproxy-name/apiproxy
    • Nella sezione Apigee, posiziona il cursore sulla cartella apiproxy-name/apiproxy/targets e fai clic su Icona Crea.

    Si apre la procedura guidata Crea endpoint di destinazione.

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

    Tipo Passaggi
    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 backend.

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

    Catena di proxy

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

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

    Per ulteriori informazioni, vedi Collegare in serie i proxy.

    Target con bilanciamento del carico

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

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

    Per ulteriori informazioni, consulta Configurare un endpoint target per il bilanciamento del carico tra TargetServer 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.