Cloud Endpoints Frameworks fornisce funzionalità di gestione delle API paragonabili alle funzionalità fornite da Extensible Service Proxy (ESP) per Cloud Endpoints. Endpoints Frameworks include un gateway API integrato che intercetta tutte le richieste ed esegue tutti i controlli necessari, ad esempio l'autenticazione, prima di inoltrare la richiesta al backend API. Quando il backend risponde, Endpoints Frameworks raccoglie e segnala i dati di telemetria. Puoi visualizzare le metriche per la tua API nella pagina Endpoint > Servizi nella console Google Cloud.
Le funzionalità di gestione delle API disponibili in Endpoints Frameworks includono:
Affinché l'API venga gestita da Endpoints, devi eseguire il deployment di un documento OpenAPI che descriva l'API utilizzando la versione 2.0 della specifica OpenAPI. In questa pagina viene descritto come generare ed eseguire il deployment di un documento OpenAPI che consente a Endpoints di gestire l'API.
Se non aggiungi la gestione delle API, la tua API fornisce comunque le richieste, ma l'API non viene visualizzata nella pagina Endpoint > Servizi della console Google Cloud e la funzionalità fornita dagli endpoint, come il logging, il monitoraggio e l'impostazione delle quote, non è disponibile.
Per aggiungere la gestione delle API all'API:
Imposta il file Maven
pom.xml
o il file Gradlebuild.gradle
come descritto in Configurare i file di build.Assicurati di impostare l'ID progetto Google Cloud nei file di build.
Maven
Cerca
<endpoints.project.id>
e sostituisciYOUR_PROJECT_ID
con il tuo ID progetto Google Cloud. Ad esempio:<endpoints.project.id>example-project-12345</endpoints.project.id>
Gradle
-
Cerca
def projectId
e sostituisciYOUR_PROJECT_ID
con il tuo ID progetto Google Cloud. Ad esempio:def projectId = 'example-project-12345'
-
Assicurati che il file
build.gradle
contenga l'attivitàreplaceProjectId
, che imposta l'ID progetto nei fileappengine-web.xml
eweb.xml
.
-
Cerca
Nel file
web.xml
del tuo progetto API, aggiungi la configurazione del filtro servlet per la 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 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 Endpoints Frameworks lato server, che genera il documento OpenAPI:
-
Configura il nome del servizio Endpoints:
-
Dopo aver modificato le dipendenze, pulisci il progetto e crea l'API:
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
Genera il documento OpenAPI,
openapi.json
:Maven
mvn endpoints-framework:openApiDocs
Gradle
gradle endpointsOpenApiDocs
Esegui il deployment del documento OpenAPI:
gcloud endpoints services deploy openapi.json
La prima volta che esegui il deployment di
openapi.json
, viene creato un nuovo servizio Endpoints con il nomeYOUR_PROJECT_ID.appspot.com
. Al completamento, una riga simile alla seguente mostra 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 con la data 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 questo comando, ma sostituisci
YOUR_PROJECT_ID
con l'ID del tuo progetto Google Cloud:gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Puoi creare il tuo documento OpenAPI ed eseguirne il deployment, anziché utilizzarne uno generato. Devi solo sostituire
openapi.json
qui sopra 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.xml
per impostare il valore per una variabile di ambiente:Sostituisci
${endpoints.project.id}
con l'ID del tuo progetto Google Cloud. 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 inviandole alcune richieste.
Per visualizzare le metriche delle API, apri la pagina Endpoint > Servizi nella console Google Cloud per il tuo progetto: