Cloud Endpoints Frameworks fournit des fonctionnalités de gestion des API comparables à celles fournies par le proxy Extensible Service Proxy (ESP) pour Cloud Endpoints. Endpoints Frameworks comprend une passerelle API intégrée qui intercepte toutes les requêtes et effectue les vérifications nécessaires (telles que l'authentification) avant de transmettre la requête au backend de l'API. Lorsque le backend répond, Endpoints Frameworks rassemble et consigne les données de télémétrie. Vous pouvez afficher les métriques de votre API sur la page Endpoints > Services de Google Cloud Console.
Les fonctionnalités de gestion des API disponibles dans Endpoints Frameworks comprennent :
Pour que votre API soit gérée par Endpoints, vous devez déployer un document OpenAPI décrivant votre API à l'aide de la version 2.0 de la spécification OpenAPI. Cette page explique comment générer et déployer un document OpenAPI permettant à Endpoints de gérer votre API.
Si vous n'ajoutez pas la gestion des API, votre API diffuse toujours les requêtes, mais elle ne figure pas sur la page Endpoints > Services de la console Google Cloud. De plus, les fonctionnalités fournies par Endpoints, telles que la journalisation, la surveillance et la définition de quotas, ne sont pas disponibles.
Pour ajouter la gestion des API à votre API, procédez comme suit :
Configurez votre fichier
pom.xml
Maven oubuild.gradle
Gradle comme décrit dans la section Configurer les fichiers de build.Assurez-vous de définir l'ID du projet Google Cloud dans les fichiers de build.
Maven
Recherchez
<endpoints.project.id>
, puis remplacezYOUR_PROJECT_ID
par l'ID de votre projet Google Cloud. Exemple :<endpoints.project.id>example-project-12345</endpoints.project.id>
Gradle
-
Recherchez
def projectId
, puis remplacezYOUR_PROJECT_ID
par l'ID de votre projet Google Cloud. Exemple :def projectId = 'example-project-12345'
- Assurez-vous que votre fichier
build.gradle
contient la tâchereplaceProjectId
, qui définit l'ID du projet dans les fichiersappengine-web.xml
etweb.xml
.
-
Recherchez
Dans le fichier
web.xml
de votre projet d'API, ajoutez la configuration du filtre de servlet de gestion des API :Modifiez la configuration de compilation de votre projet API :
Maven
-
Ajoutez les dépendances de gestion des API :
-
Incluez le plug-in que vous pouvez utiliser pour générer des bibliothèques clientes et le document OpenAPI
openapi.json
:
Gradle
-
Ajoutez les dépendances de gestion des API :
-
Déclarez la dépendance externe afin que le plug-in soit récupéré depuis Maven Central :
-
Utilisez le plug-in Endpoints Framework Gradle côté serveur, qui génère le document OpenAPI :
-
Configurez le nom du service Endpoints :
-
Après avoir modifié les dépendances, nettoyez le projet, puis créez votre API :
Maven
mvn clean mvn package
Gradle
gradle clean gradle build
Générer le document OpenAPI,
openapi.json
:Maven
mvn endpoints-framework:openApiDocs
Gradle
gradle endpointsOpenApiDocs
Déployez le document OpenAPI :
gcloud endpoints services deploy openapi.json
Après le premier déploiement du service
openapi.json
, un service Endpoints est créé sous le nomYOUR_PROJECT_ID.appspot.com
. Si l'opération réussit, une ligne semblable à la suivante affiche l'ID de configuration du service et le nom du service :Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com
Dans l'exemple précédent,
2017-02-13r0
est l'ID de configuration du service. L'ID de configuration du service se compose d'un horodatage, suivi d'un numéro de révision. Si vous déployez à nouveauopenapi.json
, le numéro de révision est incrémenté dans l'ID de configuration du service.Si vous devez afficher à nouveau l'ID de configuration du service, exécutez la commande suivante, mais remplacez
YOUR_PROJECT_ID
par l'ID de votre projet Google Cloud :gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com
Vous pouvez créer votre propre document OpenAPI et le déployer plutôt que d'utiliser un document généré. Il vous suffit pour cela de remplacer l'élément
openapi.json
ci-dessus par le chemin d'accès à votre document OpenAPI. Pour en savoir plus sur la rédaction d'un document OpenAPI, consultez la page Présentation d'OpenAPI.Modifiez votre fichier
appengine-web.xml
pour définir la valeur d'une variable d'environnement :Remplacez
${endpoints.project.id}
par l'ID de votre projet Google Cloud. Exemple :<env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
Redéployez votre application.
Maven
mvn appengine:deploy
Gradle
gradle appengineDeploy
Envoyez quelques requêtes pour tester votre API.
Pour afficher les métriques de l'API, ouvrez la page Endpoints > Services dans la console Google Cloud pour votre projet: