Sviluppo di proxy API

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Esponi le API su Apigee implementando 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.

      + viene visualizzato quando posizioni il cursore sulla cartella apiproxies

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

    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'inversione proxy per un servizio HTTP più avanti in 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 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 sarà esposta dal proxy API alle app consumer

Quando selezioni Inverti proxy durante la creazione di un proxy API, vengono richiesti i dettagli del proxy API e dell'autenticazione di sicurezza 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 che definiremo. Apigee aggiunge automaticamente i seguenti criteri al tuo proxy API:

  • VerificationAPIKey per convalidare le chiavi API presentate dalle richieste di app.
  • 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, vedi Verifica dei token di accesso.
No authentication Nessuna autenticazione richiesta. 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 chiamato da questo proxy API.
API proxy name Nome visualizzato per l'API. Specifica caratteri alfanumerici, il trattino (-) o il trattino basso (_).
API proxy base path Frammento di 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 in 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 del 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 del proxy API predefinita

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 predefinita dell'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 passata 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.
     
verify-oauth-v2-access-token.xml
Criterio OAuthV2 per convalidare i token di accesso OAuth V2.
   
 

Caricamento di 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 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 proxy API deve essere strutturato come descritto in 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 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 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 saperne di più, 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:
      • Bundle proxy apiproxy-name
      • 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 il successivo insieme di prompt. Premi Invio dopo ogni termine per confermare e procedi oppure Esc per annullare.

    Campo Descrizione
    Proxy endpoint name Nome utilizzato per identificare l'endpoint proxy.
    API proxy base path Parte dell'URL utilizzata per effettuare richieste all'API. Apigee utilizza l'URL per abbinare 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 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 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 di destinazione 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 viene aggiunto solo l'endpoint proxy predefinito e nessun 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:
      • Bundle proxy apiproxy-name
      • 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
    Target HTTP(s) esterno

    Per definire una destinazione HTTP(s) esterna:

    1. Seleziona Destinazione 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.

    Concatenamento del proxy

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

    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 saperne di più, consulta Chaining dei proxy contemporaneamente.

    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 Configurazione di un TargetEndpoint 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.