Creazione di un proxy API semplice

Questa pagina si applica a Apigee e Apigee ibrido.

Visualizza la documentazione di Apigee Edge.

Apigee consente di esporre rapidamente i servizi di backend come API. Per farlo, crea un proxy API che fornisca un'interfaccia per il servizio di backend che vuoi esporre. Devi fornire solo l'indirizzo di rete per il servizio di backend, insieme ad alcune informazioni che Apigee utilizza per creare il proxy API esposto agli sviluppatori.

Il proxy API disaccoppia l'implementazione del servizio di backend dall'API utilizzata dagli sviluppatori. Questo impedisce agli sviluppatori di apportare future modifiche ai tuoi servizi di backend. Man mano che aggiorni i servizi di backend, gli sviluppatori, isolati da queste modifiche, possono continuare a chiamare l'API senza interruzioni.

In questo argomento vengono fornite informazioni sui vari tipi di proxy e sulle relative impostazioni. Per istruzioni dettagliate sulla creazione dei proxy, consulta i seguenti argomenti:

Creazione di un proxy API mediante l'interfaccia utente

Il modo più semplice per creare un proxy API è utilizzare la procedura guidata Crea proxy.

Per accedere alla procedura guidata Crea proxy utilizzando la UI di Apigee, segui questi passaggi:

  1. Accedi all'UI di Apigee.
  2. Nella barra di navigazione, seleziona Develop > API Proxy.
  3. Fai clic su Crea nuovo.
    Pulsante Crea proxy

La procedura guidata Crea proxy mostra e guida i passaggi per generare e aggiungere funzionalità minime a un proxy API.

Prima pagina della procedura guidata Crea proxy in cui viene chiesto di selezionare il bundle proxy inverso, Nessun target o il bundle proxy per personalizzare il flusso della procedura guidata.

La prima pagina della procedura guidata consente di creare un proxy API dalle origini seguenti:

Tipo Descrizione
Proxy inverso (più comune)

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 Creazione di un proxy inverso per un servizio HTTP più avanti in questa sezione.

Fai clic su Utilizza specifica OpenAPI per generare il proxy da una specifica OpenAPI valida. Per ulteriori informazioni su questa opzione, consulta la sezione Utilizzo delle specifiche OpenAPI per la generazione dei proxy più avanti in questa sezione.

Nessun target

Un proxy API senza backend API ("nessun target"). Simile a Creazione di un proxy inverso per un servizio HTTP descritto in precedenza, con la differenza che non specificherai un'API esistente quando definisci i dettagli del proxy API.

Fai clic su Utilizza specifica OpenAPI per generare il proxy da una specifica OpenAPI valida. Per ulteriori informazioni su questa opzione, consulta la sezione Utilizzo delle specifiche OpenAPI per la generazione dei proxy più avanti in questa sezione.

Carica bundle proxy Un bundle di proxy API esistente (ad esempio uno dei proxy API di esempio disponibili su GitHub). Consulta la pagina Importazione di un proxy API da un bundle di proxy API.

Le sezioni seguenti discutono i dettagli di ciascun tipo di proxy.

Creazione di un proxy inverso per un servizio HTTP

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

L'URL del servizio di backend in genere rappresenta un'applicazione abilitata per il servizio di proprietà della tua organizzazione. Può anche puntare a un'API disponibile pubblicamente. L'API o il servizio può essere sotto il tuo controllo (ad esempio, un'applicazione RU interna o un'applicazione Rails nel cloud) o può essere un'API o un servizio di terze parti (ad esempio Twitter o Instagram).

I seguenti dettagli del proxy sono disponibili dopo aver eseguito l'accesso alla procedura guidata Crea proxy e aver selezionato un tipo di proxy:

Campo Descrizione
Nome Nome visualizzato per l'API. Specifica caratteri alfanumerici, il trattino (-) o il trattino basso (_).
Percorso di base

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 entrata e instradarli al proxy API corretto.

Seguendo il percorso di base sono presenti eventuali URL di risorsa aggiuntivi. La struttura completa degli URL che i client utilizzano per chiamare il proxy API è la seguente:

https://[host]/BASE_PATH/CONDITIONAL_FLOW_PATH

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

Descrizione (Facoltativo) Descrizione dell'API.
Target (API esistente) URL del servizio di backend chiamato da questo proxy API.

Importazione di un proxy API da un bundle proxy API

Spesso definisci i proxy API come una raccolta di file XML, insieme a qualsiasi altro file di supporto. Se definisci i proxy API come un insieme di file esterni ad Apigee, puoi mantenerli in un sistema di controllo del codice sorgente e quindi importarli in Apigee per eseguire test e deployment.

Per importare i proxy API da un bundle proxy API, segui questi passaggi:

  1. Accedi alla procedura guidata Crea proxy come descritto in precedenza in Creazione di un proxy API utilizzando l'interfaccia utente in questa sezione.
  2. Fai clic su Carica bundle proxy.
  3. Nella pagina Carica bundle proxy nella procedura guidata del proxy, inserisci le seguenti informazioni:

    Campo Descrizione
    Bundle ZIP ZIP contenente la configurazione del proxy API. Trascina o fai clic per accedere al file.
    Nome Nome visualizzato per l'API. Il valore predefinito è il nome del file ZIP senza estensione.
  4. Fai clic su Avanti.
  5. Nella pagina Riepilogo, seleziona gli ambienti di deployment, se necessario, e fai clic su Crea ed esegui il deployment

    Viene visualizzata una conferma che conferma che il nuovo proxy API è stato creato correttamente.

  6. Fai clic su Modifica proxy per visualizzare la pagina dei dettagli del proxy API.

Creazione di proxy API gRPC

Al momento, oltre ai proxy API REST, Apigee supporta i proxy API gRPC con supporto solo passthrough. Con il supporto passthrough, il payload gRPC è opaco per Apigee e il traffico viene instradato dal client gRPC al server di destinazione gRPC preconfigurato nella configurazione di destinazione.

Al momento, i proxy dell'API Apigee gRPC:

  • Supporta le richieste gRPC unari.
  • Impossibile utilizzare criteri che influiscono sul payload.
  • Può essere utilizzato in prodotti API non associati a GraphQL o ai proxy REST. Le quote specifiche del prodotto API e altre impostazioni operative vengono applicate a tutti i proxy nel prodotto.
  • Non sono supportate in Apigee hybrid.
  • Utilizza due variabili di flusso specifiche per gRPC: request.grpc.rpc.name e request.grpc.service.name.
  • Può essere monitorato con queste variabili di analisi Apigee specifiche per gRPC: x_apigee_grpc_rpc_name, x_apigee_grpc_service_name e x_apigee_grpc_status.
  • Restituisci i codici di stato gRPC.

Devi anche configurare il bilanciatore del carico per supportare gRPC. Consulta Utilizzo di gRPC con le applicazioni e Utilizzo dei comandi dell'interfaccia a riga della gcloud CLI per creare il routing per gRPC.

Per creare un proxy API gRPC, definisci prima un server di destinazione gRPC (vedi Creazione di TargetServer), quindi specifica il server di destinazione quando crei il nuovo proxy.

Utilizzo dei comandi gcloud CLI per creare il routing per gRPC

Questa sezione mostra comandi di esempio per la creazione di routing per i proxy gRPC utilizzando gcloud CLI. Le istruzioni includono la configurazione dei bilanciatori del carico, un server di destinazione e un gruppo di istanze gestite.

Questa sezione non è una guida esaustiva per la creazione dei percorsi. Questi esempi potrebbero non essere appropriati per tutti i casi d'uso. Inoltre, queste istruzioni presuppongono familiarità con il routing esterno (MIG) e la configurazione gRPC del bilanciatore del carico Cloud.

Impostare le variabili di ambiente

Queste variabili di ambiente vengono utilizzate nei comandi delle sottosezioni.

PROJECT_ID=YOUR_PROJECT_ID
MIG_NAME=YOUR_MIG_NAME
VPC_NAME=default
VPC_SUBNET=default
REGION=REGION_NAME
APIGEE_ENDPOINT=ENDPOINT
CERTIFICATE_NAME=CERTIFICATE_NAME
DOMAIN_HOSTNAME=DOMAIN_HOSTNAME

Maggiore sicurezza

Nella pagina Criteri comuni della procedura guidata Crea proxy, seleziona il tipo di autorizzazione di sicurezza che vuoi aggiungere. La seguente tabella riassume le opzioni disponibili:

Autorizzazione di sicurezza Descrizione
Chiave API Aggiunge una semplice verifica della chiave API al proxy API che stai definendo. In risposta, la piattaforma API aggiunge un criterio VerifyAPIKey e un criterioAssignMessage al tuo proxy API. Il criterio VerifyAPIKey convalida le chiavi API presentate dalle richieste di app. Il criterio AssegnaMessage rimuove la chiave API, fornita nella chiamata API come parametro di query, dalla richiesta inoltrata al server di backend.
OAuth 2.0 Aggiunge l'autenticazione basata su OAuth 2.0 al proxy API. Apigee aggiunge automaticamente i seguenti criteri al proxy API: un criterio per verificare un token di accesso e un altro per rimuovere il token di accesso dal messaggio prima di inoltrarlo al servizio di backend. Per scoprire come ottenere un token di accesso, consulta OAuth.
Passthrough (nessuna autorizzazione) Nessuna autorizzazione richiesta. Le richieste vengono passate al backend senza alcun controllo di sicurezza su Apigee.

Aggiunta del supporto per CORS

La condivisione delle risorse tra origini (CORS) è un meccanismo standard che consente a un browser web di effettuare richieste dirette a un altro dominio. Lo standard CORS definisce un insieme di intestazioni HTTP che i browser web e i server utilizzano per implementare la comunicazione tra domini.

Puoi aggiungere il supporto per CORS effettuando una delle seguenti operazioni:

  • Aggiunta del criterio CORS alla richiesta PreFlow del ProxyEndpoint
  • Selezionando Aggiungi intestazioni CORS nella pagina Criteri comuni della procedura guidata Crea proxy

Per informazioni più dettagliate sul supporto CORS, inclusa l'aggiunta del supporto preflight CORS a un proxy, consulta la pagina su come aggiungere il supporto CORS a un proxy API.

Aggiunta di quote

Le quote proteggono il servizio di backend dal traffico elevato in base alla quota. Vedi Quote. (non disponibile se è selezionata l'autorizzazione passthrough).

Utilizzo delle specifiche OpenAPI per generare proxy

Questa sezione illustra l'opzione Utilizza OpenAPI disponibile per generare i seguenti tipi di proxy API mediante una specifica OpenAPI: inversione o nessun target.

Che cos'è una specifica OpenAPI?

Logo Open API Initiative "L'obiettivo della Open API Initiative (OAI) è creare, evolvere e promuovere un formato di descrizione delle API indipendente dal fornitore e basato sulla specifica Swagger." Per maggiori informazioni, vedi OpenAPI Initiative.

Una specifica OpenAPI utilizza un formato standard per descrivere un'API RESTful. Scritta in formato JSON o YAML, una specifica OpenAPI è leggibile dalle macchine, ma è anche di facile lettura e comprensione per le persone. La specifica descrive gli elementi dell'API come percorso di base, percorsi e verbi, intestazioni, parametri di ricerca, operazioni, tipi di contenuti, descrizioni delle risposte e altro ancora. Inoltre, per generare la documentazione relativa alle API viene comunemente utilizzata una specifica OpenAPI.

Il seguente frammento di una specifica OpenAPI descrive il servizio di destinazione fittizio di Apigee, http://mocktarget.apigee.net. Per ulteriori informazioni, consulta la specifica OpenAPI per l'esempio helloworld.

openapi: 3.0.0
info:
  description: OpenAPI Specification for the Apigee mock target service endpoint.
  version: 1.0.0
  title: Mock Target API
paths:
  /:
    get:
      summary: View personalized greeting
      operationId: View a personalized greeting
      description: View a personalized greeting for the specified or guest user.
      parameters:
        - name: user
          in: query
          description: Your user name.
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
  /help:
    get:
      summary: Get help
      operationId: Get help
      description: View help information about available resources in HTML format.
      responses:
        "200":
          description: Success
...

Tramite la procedura guidata Crea proxy, puoi importare una specifica OpenAPI e utilizzarla per generare un proxy API. Una volta generato il proxy, puoi utilizzare la UI di Apigee per svilupparlo ulteriormente aggiungendo criteri, implementando codice personalizzato e così via, proprio come qualsiasi proxy Apigee.

Creazione di un proxy API da una specifica OpenAPI

Crea i proxy API da una specifica OpenAPI. Con pochi clic, avrai a disposizione un proxy API con percorsi, parametri, flussi condizionali ed endpoint di destinazione generati automaticamente. Successivamente, puoi aggiungere funzionalità come la sicurezza OAuth, la limitazione di frequenza e la memorizzazione nella cache.

Nella procedura guidata Crea proxy, fai clic su Utilizza specifica OpenAPI e segui la procedura guidata per creare un proxy di destinazione inverso o nessun proxy di destinazione da una specifica OpenAPI. Per maggiori dettagli, consulta la pagina relativa alla creazione di un proxy API da una specifica OpenAPI.

Creazione di una nuova revisione di un proxy API

Crea una nuova revisione di un proxy API, come descritto di seguito.

Per creare una nuova revisione di un proxy API, segui questi passaggi:

  1. Accedi all'UI di Apigee.
  2. Nella barra di navigazione, seleziona Develop > API Proxy.
  3. Fai clic sul proxy API nell'elenco da copiare.
  4. Fai clic sulla scheda Sviluppo.

  5. Seleziona il pulsante Salva e seleziona Salva come nuova revisione.

Backup di un proxy API

Puoi eseguire il backup di un proxy API esistente come set di file XML in un bundle di proxy API. Una volta esportato in un bundle, puoi importare il proxy API in un nuovo proxy, come descritto in Importare un proxy API da un bundle proxy API in precedenza in questa sezione. Per maggiori informazioni, consulta Scaricare i proxy API.

Creazione di un proxy API mediante l'API

Per creare un proxy API utilizzando l'API, consulta la pagina Creazione di un proxy API.