arrow_back

Cloud Endpoints : Qwik Start

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Endpoints : Qwik Start

Lab 1 heure universal_currency_alt 1 crédit show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP164

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Dans cet atelier, vous allez déployer un exemple d'API avec Google Cloud Endpoints, un ensemble d'outils permettant de générer des API à partir d'une application App Engine. L'exemple de code comprendra les éléments suivants :

  • Une API REST que vous pouvez interroger pour trouver le nom d'un aéroport à partir de son code IATA à trois lettres (SFO, JFK, AMS, par exemple).
  • Un script qui importe la configuration API dans Cloud Endpoints.
  • Un script qui déploie un backend flexible Google App Engine pour héberger l'API.

Après avoir envoyé quelques requêtes à l'exemple d'API, vous pouvez consulter les journaux et graphiques d'activité Cloud Endpoints. Ces outils vous permettent de surveiller vos API et d'obtenir des informations sur leur utilisation.

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
Remarque : Ouvrez une fenêtre de navigateur en mode incognito/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Cloud Shell

Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : Obtenir l'exemple de code

  1. Saisissez la commande suivante dans Cloud Shell pour obtenir l'exemple d'API et les scripts :
gsutil cp gs://spls/gsp164/endpoints-quickstart.zip . unzip endpoints-quickstart.zip
  1. Accédez au répertoire qui contient l'exemple de code :
cd endpoints-quickstart

Tâche 2 : Déployer la configuration Endpoints

Pour publier une API REST dans Endpoints, vous avez besoin d'un fichier de configuration OpenAPI qui décrit l'API. L'exemple d'API de cet atelier est fourni avec un fichier OpenAPI préconfiguré et intitulé openapi.yaml.

Cloud Endpoints utilise Service Management, un service d'infrastructure de Google Cloud, pour créer et gérer des API et des services. Pour utiliser Endpoints afin de gérer une API, vous devez déployer la configuration OpenAPI de l'API dans Service Management.

Pour déployer la configuration Endpoints :

  1. Dans le répertoire endpoints-qwikstart, saisissez la commande suivante :
cd scripts
  1. Exécutez le script suivant qui est inclus dans l'exemple :
./deploy_api.sh

Cloud Endpoints identifie le service à l'aide du champ host du fichier de configuration OpenAPI. Le script deploy_api.sh définit l'ID de votre projet Cloud comme une partie du nom configuré dans le champ host. Notez que lorsque vous préparez un fichier de configuration OpenAPI pour votre propre service, vous devez réaliser cette opération manuellement.

Le script déploie ensuite la configuration OpenAPI dans Service Management avec la commande suivante : gcloud endpoints services deploy openapi.yaml.

Lors de la création et de la configuration du service, Service Management fournit des informations à la console. Vous pouvez ignorer en toute sécurité les avertissements indiquant que les chemins de openapi.yaml ne nécessitent pas de clé API. Si l'opération réussit, une ligne semblable à la suivante affiche l'ID de configuration et le nom du service :

Service Configuration [2017-02-13-r2] uploaded for service [airports-api.endpoints.example-project.cloud.goog]

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer la configuration Endpoints

Tâche 3 : Déployer le backend de l'API

Vous avez déployé la configuration OpenAPI dans Service Management, mais vous n'avez pas encore déployé le code qui diffusera le backend de l'API. Le script deploy_app.sh inclus dans l'exemple de l'atelier crée un environnement flexible App Engine pour héberger le backend de l'API, puis déploie l'API dans App Engine.

  • Pour déployer le backend de l'API, vérifiez que vous êtes bien dans le répertoire endpoints-quickstart/scripts. Exécutez ensuite le script suivant :
./deploy_app.sh

Le script exécute la commande suivante pour créer un environnement flexible App Engine dans la région  : gcloud app create --region="$REGION".

La création du backend flexible App Engine prend quelques minutes.

Remarque : Si vous recevez un message ERROR: NOT_FOUND: Unable to retrieve P4SA: from GAIA, réexécutez le script deploy_app.sh.

Une fois l'opération terminée, le message suivant s'affiche dans Cloud Shell :

Success! The app is now created. Please use `gcloud app deploy` to deploy your first app.

Le script exécute ensuite la commande gcloud app deploy pour déployer l'exemple d'API dans App Engine.

Une ligne semblable à la suivante s'affiche dans Cloud Shell :

Deploying ../app/app_template.yaml...You are about to deploy the following services:

Le déploiement de l'API dans App Engine prend quelques minutes. Une ligne semblable à la suivante s'affiche lorsque l'API a été déployée dans App Engine :

Deployed service [default] to [https://example-project.appspot.com]

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer le backend de l'API

Tâche 4 : Envoyer des requêtes à l'API

  1. Après avoir déployé l'exemple d'API, vous pouvez lui envoyer des requêtes en exécutant le script suivant :
./query_api.sh

Le script répercute la commande curl qu'il utilise pour envoyer une requête à l'API, puis affiche le résultat. Une réponse semblable à la suivante s'affiche alors dans Cloud Shell :

curl "https://example-project.appspot.com/airportName?iataCode=SFO" San Francisco International Airport

L'API s'attend à recevoir un paramètre de requête, iataCode, défini sur un code d'aéroport IATA valide tel que SEA ou JFK.

  1. Pour tester l'API, exécutez cet exemple dans Cloud Shell :
./query_api.sh JFK

Vous venez de déployer et de tester une API dans Cloud Endpoints.

Cliquez sur Vérifier ma progression pour valider l'objectif. Envoyer des requêtes à l'API

Tâche 5 : Suivre l'activité de l'API

Grâce aux API déployées avec Cloud Endpoints, vous pouvez surveiller les métriques liées à vos opérations critiques dans la console Cloud, et obtenir des informations sur vos utilisateurs et votre utilisation avec Cloud Logging :

  1. Exécutez le script de génération de trafic suivant dans Cloud Shell pour remplir les graphiques et les journaux :
./generate_traffic.sh Remarque : Ce script génère des requêtes dans une boucle et expire automatiquement au bout de cinq minutes. Pour arrêter le script plus tôt, appuyez sur CTRL+C dans Cloud Shell.
  1. Dans la console, sélectionnez le menu de navigation > Points de terminaison > Services et cliquez sur le service Airport Codes (Codes d'aéroport) pour consulter les graphiques d'activité de votre service. Les requêtes n'apparaissent pas immédiatement dans les graphiques. Vous pouvez effectuer l'opération suivante en attendant que les données s'affichent :
  • Si le panneau latéral "Autorisations" n'est pas ouvert, cliquez sur Afficher le panneau des autorisations. Le panneau "Autorisations" vous permet de contrôler qui a accès à votre API et le niveau d'accès.

  • Cliquez sur l'onglet Historique des déploiements. Cet onglet affiche l'historique de vos déploiements d'API, dont l'heure de déploiement et l'utilisateur qui a déployé la modification.

  • Cliquez sur l'onglet Vue d'ensemble. Le trafic entrant s'affiche ici. Une fois que le script de génération de trafic s'est exécuté pendant une minute, faites défiler la page vers le bas pour afficher les trois lignes du graphique Latence totale : 50e, 95e et 99e centiles. Ces données donnent une estimation rapide des temps de réponse.

  1. Au bas des graphiques Endpoints, sous "Méthode", cliquez sur le lien Afficher les journaux pour GET/airportName. La page "Visionneuse de journaux" affiche les journaux des requêtes pour l'API.

  2. Appuyez sur CTRL+C dans Cloud Shell pour arrêter le script.

Tâche 6 : Ajouter un quota à l'API

Remarque : La fonctionnalité de quotas est disponible en version bêta. Elle peut faire l'objet de modifications susceptibles d'affecter la compatibilité ascendante, et n'est sujette à aucun contrat de niveau de service ni aucun règlement relatif aux abandons.

Cloud Endpoints vous permet de définir des quotas pour contrôler le débit auquel les applications peuvent appeler votre API. Les quotas peuvent être utilisés pour protéger votre API contre une utilisation excessive par un seul client.

  1. Déployez la configuration Endpoints présentant un quota :

    ./deploy_api.sh ../openapi_with_ratelimit.yaml
  2. Redéployez votre application pour utiliser votre nouvelle configuration Endpoints (cela peut prendre quelques minutes) :

    ./deploy_app.sh

    Cliquez sur Vérifier ma progression pour valider l'objectif. Ajouter un quota à l'API

  3. Dans la console, sélectionnez le menu de navigation > API et services > Identifiants.

  4. Cliquez sur Créer des identifiants, puis sélectionnez Clé API. Une nouvelle clé API s'affiche à l'écran.

  5. Cliquez sur l'icône Copier dans le presse-papiers pour copier cette clé dans votre presse-papiers.

  6. Saisissez la commande suivante dans Cloud Shell. Remplacez YOUR-API-KEY par la clé API que vous venez de créer :

    export API_KEY=YOUR-API-KEY
  7. Envoyez une requête à votre API avec la variable de clé API que vous venez de créer :

    ./query_api_with_key.sh $API_KEY

    Une réponse semblable à la suivante s'affiche dans la console :

    curl -H 'x-api-key: AIzeSyDbdQdaSdhPMdiAuddd_FALbY7JevoMzAB' "https://example-project.appspot.com/airportName?iataCode=SFO" San Francisco International Airport
  8. L'API a désormais une limite de cinq requêtes par seconde. Exécutez la commande suivante pour envoyer du trafic à l'API et déclencher la limite de quota :

    ./generate_traffic_with_key.sh $API_KEY
  9. Après avoir exécuté le script pendant 5 à 10 secondes, appuyez sur CTRL+C dans Cloud Shell pour arrêter le script.

  10. Envoyez une autre requête authentifiée à l'API :

    ./query_api_with_key.sh $API_KEY

    Une réponse semblable à la suivante s'affiche dans la console :

{ "code": 8, "message": "Insufficient tokens for quota 'airport_requests' and limit 'limit-on-airport-requests' of service 'example-project.appspot.com' for consumer 'api_key:AIzeSyDbdQdaSdhPMdiAuddd_FALbY7JevoMzAB'.", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "stackEntries": [], "detail": "internal" } ] }

Si vous obtenez une réponse différente, réessayez d'exécuter le script generate_traffic_with_key.sh, puis d'envoyer une requête authentifiée à l'API.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer une clé d'API et tester une limite de quota en envoyant des requêtes

Félicitations !

Félicitations ! Vous avez réussi à limiter le débit de votre API. Vous pouvez également définir des limites variables en fonction des différentes méthodes d'API, créer plusieurs types de quotas et effectuer le suivi de l'utilisation des API par vos clients.

Atelier suivant

Cet atelier fait partie d'une série appelée "Qwik Starts". Les ateliers de cette série sont conçus pour vous donner un aperçu des nombreuses fonctionnalités proposées par Google Cloud. Recherchez "Qwik Starts" dans le catalogue pour trouver le prochain atelier que vous aimeriez suivre.

Étapes suivantes et informations supplémentaires

Pour en savoir plus sur les quotas, consultez les pages suivantes :

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 22 novembre 2023

Dernier test de l'atelier : 22 novembre 2023

Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.