Scelta di un'opzione di Endpoints

Per fare in modo che l'API sia gestita da Cloud Endpoints, sono disponibili tre opzioni: su dove è ospitata l'API e sul tipo di protocollo di comunicazione Utilizzo dell'API:

In questa pagina vengono descritte le opzioni di Endpoints per aiutarti a decidere quello più adatto a te.

Scelta di un'opzione di computing

Endpoints supporta diversi Google Cloud di computing che possono ospitare il codice di backend dell'API. Endpoints funziona con Extensible Service Proxy (ESP) o Extensible Service Proxy V2 (ESPv2) per fornire la gestione delle API. La tabella seguente riassume le opzioni di computing supportate:

ESP per OpenAPI ESP per gRPC ESPv2 per OpenAPI ESPv2 per gRPC Framework endpoint
App Engine
generazione dell'ambiente standard 1
Runtime Java 8 e Python 2.7
App Engine
generazione ambiente standard 2
App Engine
un ambiente flessibile
Cloud Functions
Cloud Run
Knative serving
Compute Engine
GKE
Kubernetes
Altri servizi non Google Cloud

Per un confronto delle funzionalità fornite da App Engine, GKE e Compute Engine, consulta Scelta di un'opzione di computing. Se stai pensando di utilizzare App Engine, devi scegliere in un ambiente standard o flessibile. Per un confronto dei due ambienti, vedi Scelta di un ambiente App Engine.

Informazioni sulle limitazioni delle opzioni di computing

È possibile utilizzare Endpoints per OpenAPI ed Endpoints per gRPC ESP o ESPv2 come proxy. Per le piattaforme non serverless, il deployment di ESP o ESPv2 viene eseguito come container di fronte al o come file collaterale con la tua applicazione. Per le piattaforme serverless, come Cloud Run, Cloud Functions e App Engine, il deployment di ESPv2 viene eseguito come servizio Cloud Run come proxy remoto per gestire le applicazioni della piattaforma serverless.

Dopo aver eseguito il deployment il codice di backend, ESP o ESPv2 intercetta tutte le richieste ed esegue i controlli necessari (come l'autenticazione) prima di inoltrare la richiesta al di backend API. Quando il backend risponde, ESP raccoglie e segnala la telemetria utilizzando Service Infrastructure.

Puoi visualizzare le metriche per l'API e link a Osservabilità di Google Cloud log e tracce della pagina Servizi endpoint nella nella console Google Cloud.

Limitazioni dell'ambiente di generazione 1 standard di App Engine

Gli endpoint per l'ambiente di generazione 1 standard di App Engine utilizzavano storicamente Endpoints Frameworks, che supporta solo gli ambienti di runtime Java 8 e Python 2.7.

Perché l'ambiente standard di App Engine non supportava di deployment multi-container quando Endpoints Frameworks era in fase di sviluppo, Endpoints Frameworks non utilizza ESP. Endpoint Frameworks include invece un modello Gateway API che offre funzionalità di gestione delle API paragonabili alla funzionalità fornite da ESP per Endpoints per OpenAPI e Endpoint per gRPC.

Le API gRPC non sono supportate su App Engine o Cloud Functions

gRPC è un framework di chiamata di procedura remota (RPC) possono essere eseguite in qualsiasi ambiente. Con gRPC, un'applicazione client può chiamare direttamente in un'applicazione server su una macchina diversa, come se fosse una . Una caratteristica principale di gRPC è lo streaming bidirezionale con Trasporto basato su HTTP/2.

App Engine e Cloud Functions non supportano HTTP/2.

Linguaggi di programmazione supportati

  • La Specifica OpenAPI è una specifica indipendente dalla lingua. Puoi implementare l'API in qualsiasi linguaggio di programmazione.
  • gRPC fornisce compilatore del buffer di protocollo, protoc, per molti dei principali linguaggi di programmazione: C++, C#, Objective-C (per iOS), Dart, Go, Java (incluso il supporto per Android), Node.js, Python e Ruby. Consulta le Domande frequenti su gRPC per consultare l'elenco più aggiornato.
  • Endpoints Frameworks supporta solo Java 8 e Python 2.7.

Descrizione dell'API

Le opzioni Endpoints offrono diversi modi per descrivere l'API.

Endpoints per OpenAPI

La Iniziativa OpenAPI rappresenta un impegno a livello di settore per standardizzare la descrizione delle API REST. Endpoints supporta le API descritte utilizzando la versione 2.0 di la specifica OpenAPI (in precedenza Specifiche di Swagger). Descrivi superficie dell'API in un file JSON o YAML (denominato documento OpenAPI). Puoi implementare l'API utilizzando qualsiasi framework REST disponibile pubblicamente, ad esempio Django o Jersey. Se non hai dimestichezza con la specifica OpenAPI, vedi Panoramica di OpenAPI.

Per ulteriori informazioni, vedi Endpoint per OpenAPI.

Endpoint per gRPC

Con gRPC, definisci la struttura dei dati che vuoi serializzare in un proto file: si tratta di un file di testo normale con estensione .proto. Inoltre devi definire superficie dell'API in file proto, con parametri del metodo RPC e tipi restituiti specificate come messaggi del buffer di protocollo. Se non hai dimestichezza con gRPC, consulta Che cos'è gRPC? nella documentazione di gRPC.

Per ulteriori informazioni, consulta Endpoint per gRPC.

Framework di Endpoints

Endpoints Frameworks è un framework web per gli ambienti di runtime Python 2.7 e Java 8 standard di App Engine. Aggiungi i metadati (utilizzando le annotazioni in Java o i decorator in Python) ai tuoi codice sorgente. I metadati descrivono superficie delle API REST per la tua applicazione.

Per ulteriori informazioni, vedi Framework endpoint.

Passaggi successivi