Sviluppo di proxy API

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Esporre 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 Gestione di cartelle e file in uno spazio di lavoro Apigee.

Creazione di un proxy API

Per creare un proxy API utilizzando Apigee in Cloud Code, assicurati di aver creato uno spazio di lavoro di sviluppo locale e poi:

  1. Esegui una delle seguenti azioni:

    • Nel tuo workspace, posiziona il cursore sulla cartella apiproxies e fai clic su Icona Crea proxy API.

      + viene visualizzato quando posizioni il cursore sulla cartella apiproxies

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

    Si apre la procedura guidata Crea proxy.

  2. Seleziona una delle seguenti opzioni:

    Tipo Descrizione
    Access token-based authentication

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

    • Quota per gestire la quota sul proxy.
    • AssignMessage per rimuovere la chiave API, fornita nella chiamata API come parametro di query, dalla richiesta inoltrata al server di backend.
    • OAuthV2 come metodo di autenticazione.
    API key-based authentication

    Un proxy API che utilizza la verifica semplice della chiave API. Apigee aggiunge automaticamente le seguenti policy al proxy API:

    • Quota per gestire la quota sul proxy.
    • VerifyAPIKey per convalidare le chiavi API presentate dalle app richiedenti.
    • AssignMessage per rimuovere la chiave API, fornita nella chiamata API come parametro di query, dalla richiesta inoltrata al server di backend.
    Echo request

    Un proxy API che ripete le richieste. Non esiste alcun backend di destinazione/API per questo tipo di proxy e nessuna autenticazione. Non ti viene chiesto di specificare un URL per il servizio di backend (Target (Existing API)) e la configurazione dell'endpoint di destinazione predefinito non è inclusa.

    Simple reverse proxy

    Un proxy API che inoltra le richieste a una destinazione di backend. Non include l'autenticazione, quindi le richieste vengono trasmesse al backend senza alcun controllo di sicurezza.

    OpenAPI 3.0 spec

    Crea un proxy caricando una specifica OpenAPI 3.0 esistente. Per saperne di più, consulta OpenAPI Initiative.

  3. Consulta Campi principali del proxy API per informazioni sui campi, ad esempio il percorso di base, necessari per creare ogni tipo di proxy. Rispondi a ogni richiesta e premi Invio per confermare e procedere oppure Esc per annullare la procedura guidata.

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

Di seguito è riportato un esempio della configurazione predefinita creata per un proxy API creato con il tipo API key-based authentication.

La struttura delle cartelle di un proxy di autenticazione basato su chiave API

Per una descrizione della configurazione predefinita, vedi Esplorare la configurazione predefinita del proxy API.

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.

File di configurazione
Simple reverse proxy
Echo request
Autenticazione con token di accesso (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
Quota policy per definire una quota predefinita.
   
remove-header-authorization.xml
Criterio AssignMessage per rimuovere l'intestazione Authorization trasmessa per l'autenticazione.
   
 
remove-query-param-apikey.xml
Assegna la policy AssignMessage per rimuovere il parametro di query apikey passato per l'autenticazione.
     
verify-api-key.xml
VerifyAPIKey policy per applicare la verifica delle chiavi API.
     
verify-oauth-v2-access-token.xml
OAuthV2 per convalidare i token di accesso OAuth V2.
   
 

Caricamento di un pacchetto di proxy API

Per caricare un pacchetto di proxy API in Apigee in Cloud Code:

  1. Esegui una delle seguenti azioni:

    • Nel workspace Apigee, posiziona il cursore sulla cartella apiproxies e fai clic su Icona del pacchetto proxy API di importazione.

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

  2. Vai al bundle del proxy API che vuoi caricare e fai clic su Seleziona. Il pacchetto del proxy API deve essere strutturato come descritto in Struttura delle 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 questo nome non è univoco, ti viene chiesto di inserirne uno univoco.

La cartella apiproxy-name caricata viene aggiunta in apiproxies nel tuo spazio di lavoro.

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. Configura l'endpoint proxy per definire l'URL del proxy API. L'endpoint proxy determina anche se le app accedono al proxy API tramite HTTP o HTTPS. Puoi collegare criteri all'endpoint proxy per applicare sicurezza, controlli delle quote e altri tipi di controllo dell'accesso e limitazione della 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 la sezione Esplorare la configurazione predefinita del proxy API. Puoi creare endpoint proxy aggiuntivi, se necessario.

Per creare un endpoint proxy utilizzando Apigee in Cloud Code:

  1. Nello spazio di lavoro Apigee, esegui una delle seguenti operazioni:

    • Posiziona il cursore su una delle seguenti cartelle, fai clic su Crea icona dell'endpoint proxy e seleziona Crea endpoint proxy:
      • apiproxy-name proxy bundle
      • apiproxy-name/apiproxy
    • Posiziona il cursore sulla cartella apiproxy-name/apiproxy/proxies e fai clic su Crea icona dell'endpoint proxy.

    Si apre la procedura guidata Crea endpoint proxy.

  2. Inserisci i valori per il successivo insieme di prompt. Premi Invio dopo ogni input per confermare e procedere oppure 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 alla tua API. Apigee utilizza l'URL per abbinare e instradare le richieste in entrata al proxy API corretto.
    Target endpoint Seleziona no target o default. Per informazioni, vedi Elementi di configurazione di ProxyEndpoint.

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 i tuoi servizi di backend. Configuri l'endpoint di destinazione per inoltrare le richieste al servizio di backend appropriato e definisci eventuali impostazioni di sicurezza, il protocollo HTTP o HTTPS e altre informazioni di 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 degli 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 target di backend, alla configurazione del proxy API viene aggiunto solo l'endpoint proxy predefinito, non viene aggiunto alcun endpoint di destinazione. Per ulteriori informazioni, consulta la sezione Esplorare la configurazione predefinita del proxy API.

Crea gli endpoint di destinazione, se necessario.

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

  1. Nello spazio di lavoro Apigee, esegui una delle seguenti operazioni:

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

    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 di backend.

    Per saperne di più, consulta la sezione Determinare l'URL dell'endpoint di destinazione.

    Concatenamento dei proxy

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

    1. Seleziona Proxy a catena.
    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ù, vedi Concatenare i proxy.

    Destinazione con bilanciamento del carico

    Per definire una destinazione 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 il bilanciamento del carico tra TargetServer denominati.

L'endpoint di destinazione viene creato e aggiunto alla cartella apiproxy-name/apiproxy/targets 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 negli argomenti seguenti.