Endpoints Frameworks fornisce funzionalità di gestione delle API paragonabili a quelle fornite da Extensible Service Proxy (ESP) per Cloud Endpoints. Endpoints Frameworks include un gateway API integrato che intercetta tutte le richieste ed esegue i controlli necessari, ad esempio l' autenticazione, prima di inoltrare la richiesta al backend API. Quando il backend risponde, Endpoints Frameworks raccoglie e segnala la telemetria. Puoi visualizzare le metriche per la tua API nella pagina Endpoints > Servizi della Google Cloud console.
Le funzionalità di gestione delle API disponibili in Endpoints Frameworks includono:
Affinché la tua API venga gestita da Endpoints, devi eseguire il deployment di un documento OpenAPI che la descriva utilizzando la versione 2.0 della specifica OpenAPI. Questa pagina descrive come generare ed eseguire il deployment di un documento OpenAPI che consenta a Endpoints di gestire la tua API.
Se non aggiungi la gestione delle API, la tua API continua a gestire le richieste, ma non viene visualizzata nella pagina Endpoints > Servizi della Google Cloud console e la funzionalità fornita da Endpoints, come la registrazione, il monitoraggio e l'impostazione delle quote, non è disponibile.
Per aggiungere la gestione delle API alla tua API:
Configura il file
pom.xmldi Maven o il filebuild.gradledi Gradle come descritto in Configurare i file di build.Assicurati di impostare l'ID Google Cloud progetto nei file di build.
Maven
Cerca
<endpoints.project.id>e sostituisciYOUR_PROJECT_IDcon l' Google Cloud ID progetto. Ad esempio:<endpoints.project.id>example-project-12345</endpoints.project.id>Gradle
-
Cerca
def projectIde sostituisciYOUR_PROJECT_IDcon l' Google Cloud ID progetto. Ad esempio:def projectId = 'example-project-12345' -
Assicurati che il file
build.gradlecontenga l'attivitàreplaceProjectIdche imposta l'ID progetto nei fileappengine-web.xmleweb.xml.
-
Cerca
Nel file
web.xmldel progetto API, aggiungi la configurazione del filtro servlet di gestione delle API:Modifica la configurazione di compilazione del progetto API:
Maven
-
Aggiungi le dipendenze di gestione delle API:
-
Includi il plug-in che puoi utilizzare per generare le librerie client e il documento OpenAPI,
openapi.json:
Gradle
-
Aggiungi le dipendenze di gestione delle API:
-
Dichiara la dipendenza esterna in modo che il plug-in venga recuperato da Maven Central:
-
Utilizza il plug-in Gradle di Endpoints Frameworks lato server, che genera il documento OpenAPI:
-
Configura il nome del servizio Endpoints:
-
Dopo aver modificato le dipendenze, pulisci il progetto e poi crea l'API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
Genera il documento OpenAPI,
openapi.json:Maven
mvn endpoints-framework:openApiDocsGradle
gradle endpointsOpenApiDocsEsegui il deployment del documento OpenAPI:
gcloud endpoints services deploy openapi.jsonLa prima volta che esegui il deployment di
openapi.json, viene creato un nuovo servizio Endpoints con il nomeYOUR_PROJECT_ID.appspot.com. Al termine, viene visualizzata una riga simile alla seguente, in cui sono visualizzati l'ID configurazione del servizio e il nome del servizio:Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
Nell'esempio precedente,
2017-02-13r0è l'ID configurazione del servizio. L'ID configurazione del servizio è costituito da un timestamp seguito da un numero di revisione. Se esegui di nuovo il deployment diopenapi.json, il numero di revisione viene incrementato nell'ID configurazione del servizio.Se devi visualizzare di nuovo l'ID configurazione del servizio, esegui il comando seguente, ma sostituisci
YOUR_PROJECT_IDcon l'ID progetto del tuo Google Cloud progetto:gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Puoi creare il tuo documento OpenAPI ed eseguirne il deployment anziché utilizzarne uno generato. Basta sostituire
openapi.jsonsopra con il percorso del documento OpenAPI. Per ulteriori informazioni sulla scrittura di un documento OpenAPI, consulta la panoramica di OpenAPI.Modifica il file
appengine-web.xmlper impostare il valore di una variabile di ambiente:Sostituisci
${endpoints.project.id}con l' Google Cloud ID progetto. Ad esempio:<env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />Esegui di nuovo il deployment dell'applicazione.
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
Testa l'API inviando alcune richieste.
Per visualizzare le metriche API, apri la pagina Endpoints > Servizi nella Google Cloud console per il tuo progetto: