Creazione di un proxy API semplice

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Apigee ti 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 protegge gli sviluppatori dalle modifiche future ai 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.

Questo argomento fornisce 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 l'interfaccia utente di Apigee, segui questi passaggi:

  1. Accedi all'interfaccia utente di Apigee.
  2. Nella barra di navigazione, seleziona Sviluppo > Proxy API.
  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 richiesto di selezionare il bundle proxy inverso, Nessun target o Proxy per personalizzare il flusso della procedura guidata.

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

Tipo Descrizione
Proxy inverso (più comune)

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.

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

Nessun target

Un proxy API senza backend API ("nessuna destinazione"). Come per la creazione di un proxy inverso per un servizio HTTP descritta in precedenza, l'unica differenza che devi specificare un'API esistente è che devi definire 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 Utilizzo delle specifiche OpenAPI per generare 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 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 verrà 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) oppure 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 creazione guidata del proxy e aver selezionato un tipo di proxy:

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

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.

Nel percorso di base sono presenti eventuali URL di risorse aggiuntivi. La struttura completa dell'URL utilizzata dai client 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 i nuovi team. Tieni presente che /**/ non è supportato.

Descrizione (Facoltativo) Descrizione dell'API.
Destinazione (API esistente) URL del servizio di backend richiamato 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 ad altri 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 i test e il deployment.

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

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

    Campo Descrizione
    Pacchetto ZIP File ZIP contenente la configurazione del proxy API. Trascina o fai clic per passare al file.
    Nome Nome visualizzato per l'API. Il valore predefinito è il nome del file ZIP senza estensione.
  4. Tocca Avanti.
  5. Nella pagina Riepilogo, seleziona gli ambienti di deployment, se vuoi, 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 relativi al proxy API.

Creazione di proxy API gRPC

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

Al momento, i proxy API gRPC Apigee:

  • Supporta le richieste gRPC unari.
  • Impossibile utilizzare criteri che influiscono sul payload.
  • Può essere utilizzato in prodotti API non associati a proxy GraphQL o REST. Le quote specifiche del prodotto API e altre impostazioni operative vengono applicate a tutti i proxy del prodotto.
  • Non sono supportati 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 dati di Apigee Analytics 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 inoltre configurare il bilanciatore del carico per supportare gRPC. Vedi Utilizzo di gRPC con le applicazioni e Utilizzo dei comandi di gcloud CLI per creare il routing per gRPC.

Per creare un proxy API gRPC, devi prima definire un server di destinazione gRPC (consulta la pagina relativa alla creazione di TargetServer) e specificare il server di destinazione durante la creazione del nuovo proxy.

Utilizzo dei comandi dell'interfaccia a riga di comando gcloud per creare il routing per gRPC

Questa sezione mostra comandi di esempio per creare il 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 del routing. 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.

Imposta 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 tabella seguente 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 VerificationAPIKey e un criterio AssegnaMessage al proxy API. Il criterio VerificationAPIKey convalida le chiavi API presentate richiedendo le app. Il criterio AttributionMessage rimuove la chiave API, fornita come parametro di query nella chiamata API, 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 tuo servizio di backend. Per scoprire come ottenere un token di accesso, consulta OAuth.
Passaggio (nessuna autorizzazione) Nessuna autorizzazione richiesta. Le richieste vengono passate al backend senza controlli 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.

Per aggiungere il supporto per CORS, esegui una delle seguenti operazioni:

  • Aggiunta del criterio CORS al preflusso della richiesta di ProxyEndpoint.
  • Seleziona Aggiungi intestazioni CORS nella pagina Criteri comuni della procedura guidata Crea proxy.

Per informazioni più dettagliate sul supporto di CORS, inclusa l'aggiunta del supporto preflight CORS a un proxy, consulta la pagina relativa all'aggiunta del supporto di CORS a un proxy API.

Aggiunta di quote

Le quote proteggono il tuo servizio di backend dal traffico elevato in Quota. Vedi Quote. Non disponibile se è selezionata l'opzione Autorizzazione passthrough.

uso delle specifiche OpenAPI per generare proxy

Questa sezione illustra l'opzione Usa OpenAPI disponibile per la generazione da una specifica OpenAPI per i seguenti tipi di proxy API: inverso o nessun target.

Che cos'è una specifica OpenAPI?

Logo Open API Initiative "L'obiettivo dell'Open API Initiative (OAI) è creare, sviluppare e promuovere un formato di descrizione dell'API neutrale rispetto alla specifica Swagger." Per maggiori informazioni, consulta l'iniziativa OpenAPI.

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 gli esseri umani. 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, una specifica OpenAPI viene comunemente utilizzata per generare la documentazione dell'API.

Il seguente frammento di una specifica OpenAPI descrive il servizio di destinazione fittizio di Apigee, http://mocktarget.apigee.net. Per saperne di più, 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
...

Con la procedura guidata Crea proxy, puoi importare una specifica OpenAPI e utilizzarla per generare un proxy API. Una volta generato il proxy, puoi utilizzare l'interfaccia utente 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 potrai disporre di un proxy API con percorsi, parametri, flussi condizionali ed endpoint di destinazione generati automaticamente. Successivamente, puoi aggiungere funzionalità quali 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 assente 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'interfaccia utente di Apigee.
  2. Nella barra di navigazione, seleziona Sviluppo > Proxy API.
  3. Fai clic sul proxy API nell'elenco da copiare.
  4. Fai clic sulla scheda Sviluppo.

  5. Seleziona il pulsante Salva, quindi Salva come nuova revisione.

Backup di un proxy API

Puoi eseguire il backup di un proxy API esistente come un insieme di file XML in un bundle proxy API. Una volta esportato in un bundle, puoi importare il proxy API in un nuovo proxy, come descritto nella sezione 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 sezione Creazione di un proxy API.