Creazione di un proxy API semplice

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Apigee consente di esporre rapidamente i servizi di backend come API. A tal fine, crea un proxy API che fornisca una facciata per il servizio di backend che vuoi esporre. Devi fornire solo l'indirizzo di rete del servizio di backend, insieme ad alcune informazioni utilizzate da Apigee 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 da 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 utilizzando 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:

  1. Accedi all'interfaccia utente di Apigee.
  2. Nella barra di navigazione, seleziona Sviluppo > Proxy API.
  3. Fai clic su Crea nuova.
    Pulsante Crea proxy

La procedura guidata Crea proxy viene visualizzata e illustra i passaggi per generare e aggiungere funzionalità minime a un proxy API.

Prima pagina della procedura guidata Crea proxy
    che ti chiede 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 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'inversione proxy per un servizio HTTP più avanti in questa sezione.

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

Nessun target

Un proxy API senza backend API ("nessun target"). Simile a Creazione di un proxy inverso per una richiesta HTTP servizio descritto in precedenza, con la differenza che non specificherai un'API esistente quando che definisce 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 Utilizzare le specifiche OpenAPI per generare proxy più avanti in questa sezione.

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

Le sezioni seguenti illustrano 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 per i consumatori.

L'URL del servizio di backend in genere rappresenta un'applicazione abilitata per i servizi di proprietà della tua organizzazione. Può anche puntare a un'API disponibile pubblicamente. L'API o il servizio possono essere (ad esempio, un'applicazione RU interna o un'applicazione Rails nel cloud) 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 di creazione proxy e selezionando 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 tuo proxy API. Apigee utilizza l'URI del percorso di base per associare e instradare i messaggi di richiesta in entrata al proxy API corretto.

Seguendo il percorso di base sono presenti eventuali URL di risorsa aggiuntivi. L'URL completo utilizzata dai client per chiamare il proxy API è la seguente:

https://[host]/BASE_PATH/CONDITIONAL_FLOW_PATH

Utilizzare i caratteri jolly nei percorsi di base

Utilizza uno o più caratteri jolly /*/ nei percorsi di base dei proxy API per garantire la compatibilità futura dei proxy API. Ad esempio, un percorso di base di /team/*/members consente ai client di chiamare https://[host]/team/blue/members e https://[host]/team/green/members senza dover 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 richiamato da questo proxy API.

Importazione di un proxy API da un bundle di 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 mantenerle in un sistema di controllo del codice sorgente e quindi importarle in Apigee per testarle e deployment continuo.

Per importare i proxy API da un bundle di proxy API:

  1. Accedi alla procedura guidata Crea proxy come descritto in Creazione di un proxy API utilizzando l'interfaccia utente in precedenza in questa sezione.
  2. Fai clic su Carica bundle di proxy.
  3. Nella pagina Carica bundle del proxy della 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 l'estensione.
  4. Fai clic su Avanti.
  5. Nella pagina Riepilogo, seleziona gli ambienti di deployment, se vuoi, e fai clic su Crea ed esegui il deployment

    Viene visualizzato un messaggio di conferma che indica 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

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

Al momento, i proxy API gRPC di Apigee:

  • Supporta le richieste gRPC unari.
  • Non è possibile utilizzare criteri che influiscono sul payload.
  • Possono essere utilizzate in prodotti API non associati a GraphQL o ai proxy REST. API quote specifiche del prodotto e altre impostazioni operative si applicano a tutti i proxy nel 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 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 anche configurare il bilanciatore del carico per supportare gRPC. Consulta Utilizzare gRPC con le applicazioni e Utilizzare i comandi gcloud CLI per creare il routing per gRPC.

Per creare un proxy dell'API gRPC, definisci innanzitutto un server di destinazione gRPC (consulta Creazione di TargetServer) e poi specificalo 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 del routing per i proxy gRPC utilizzando la CLI gcloud. Le istruzioni includono la configurazione 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 la conoscenza del routing esterno (MIG) e della 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 Norme comuni della procedura guidata Crea proxy, seleziona il tipo di autorizzazione di sicurezza da 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 che definiremo. In risposta, la piattaforma API aggiunge un criterio VerifyAPIKey e un criterio AssignMessage al proxy API. Il criterio VerifyAPIKey convalida le chiavi API presentate dalle app che effettuano la richiesta. La Il criterioAssignMessage rimuove la chiave API, fornita nella chiamata API come parametro di query, da la 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 backend completamente gestito di Google Cloud. Per informazioni su come ottenere un token di accesso, consulta OAuth.
Passthrough (nessuna autorizzazione) Nessuna autorizzazione richiesta. Le richieste vengono passate al backend senza alcuna sicurezza su Apigee.

Aggiunta del supporto 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 e i server utilizzati per implementare le comunicazioni tra domini.

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

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

Per informazioni più dettagliate sul supporto CORS, inclusa l'aggiunta del supporto della verifica preliminare CORS a un proxy, consulta Aggiunta del supporto CORS a un proxy API.

Aggiunta di quote

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

Utilizzo delle specifiche OpenAPI per generare proxy

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

Che cos'è una specifica OpenAPI?

Logo Open API Initiative   "L'iniziativa Open API (OAI) si concentra sulla creazione, sull'evoluzione e sulla promozione di un formato di descrizione dell'API indipendente dal fornitore basato sulla specifica Swagger." Per ulteriori informazioni, consulta la 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 facile da leggere e comprendere per le persone. La specifica descrive elementi dell'API come relativo percorso di base, percorsi e verbi, intestazioni, parametri di ricerca, operazioni, tipi di contenuti, risposta descrizioni e altro. Inoltre, una specifica OpenAPI viene comunemente utilizzata per generare documentazione.

Il seguente frammento di una specifica OpenAPI descrive il servizio di destinazione fittizio di Apigee, http://mocktarget.apigee.net. Per Per ulteriori informazioni, vedi le specifiche 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 l'interfaccia utente di Apigee per svilupparlo ulteriormente aggiungendo norme, 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, disponi di un'API proxy 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 inverso o nessun proxy di destinazione da una specifica OpenAPI. Per maggiori dettagli, consulta Creare 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:

  1. Accedi all'UI di Apigee.
  2. Nella barra di navigazione, seleziona Sviluppa > Proxy API.
  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 Importazione di un proxy API da un bundle di proxy API in precedenza in questa sezione. Per ulteriori informazioni, consulta Scaricare i proxy API.

Creazione di un proxy API mediante l'API

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