Appeler des API depuis un projet Google Cloud

1. Avant de commencer

Cet atelier de programmation vous explique comment créer un projet Google Cloud, puis appeler les API Google Cloud à partir de ce projet.

Prérequis

  • Vous êtes capable de naviguer dans la console Google Cloud.

Points abordés

  • Créer un projet Google Cloud
  • Configurer un compte de facturation
  • Configurer Cloud Shell
  • Activer une API
  • Autoriser une API à l'aide d'une clé API
  • Autoriser une API avec un compte de service

Prérequis

2. Configuration

Cette section vous explique comment créer un projet Google Cloud et configurer un compte de facturation, ainsi que Cloud Shell.

Créer un projet Google Cloud et configurer un compte de facturation

  1. Connectez-vous à la console Cloud, puis sélectionnez ou créez un projet.

de Google Cloud

Volet Nouveau projet

Volet "Nouveau projet" affichant les champs "Nom du projet", "Organisation" et "Emplacement".

Mémorisez l'ID du projet, qui s'affiche sous le champ Nom du projet. L'ID est un nom unique parmi tous les projets Google Cloud (le nom ci-dessus est déjà utilisé). Il sera appelé PROJECT_ID plus tard dans cet atelier de programmation.

  1. Ensuite, activez la facturation dans la console Cloud afin d'utiliser les ressources Google Cloud.

Même si cet atelier de programmation ne devrait pas vous coûter cher, le cas échéant, suivez les instructions de la section Effectuer un nettoyage pour arrêter les ressources et éviter les coûts au-delà de cet atelier de programmation. Notez que les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai sans frais de 300 USD.

Configurer Cloud Shell

Dans cet atelier de programmation, vous allez utiliser Cloud Shell, un environnement de ligne de commande qui s'exécute dans Google Cloud. Cloud Shell est une machine virtuelle basée sur Debian qui contient tous les outils de développement dont vous avez besoin. Elle offre un répertoire d'accueil persistant de 5 Go, ce qui améliore considérablement les performances du réseau et l'authentification. Cela signifie que vous n'avez besoin que d'un navigateur pour cet atelier de programmation.

Pour activer Cloud Shell à partir de la console Cloud:

  1. Cliquez sur a8460e837e9f5fda.png Activer Cloud Shell.

Le provisionnement et la connexion à l'environnement peuvent prendre quelques instants.

Activer Cloud Shell.

Cloud Shell affichant une invite de ligne de commande.

Une fois connecté à Cloud Shell, vous êtes en principe authentifié, et le projet est déjà défini sur votre PROJECT_ID.

  1. Générez une liste de comptes avec identifiants:
gcloud auth list

Vous devriez obtenir le résultat suivant:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. Pour afficher la liste de vos projets, saisissez cette commande.
gcloud config list project

Vous devriez obtenir le résultat suivant:

[core]
project = <PROJECT_ID>

Si, pour une raison quelconque, le projet n'est pas défini, exécutez cette commande pour le configurer.

gcloud config set project <PROJECT_ID>

PROJECT_ID est l'ID que vous avez utilisé lors des étapes de configuration. Vous pouvez également le consulter dans le tableau de bord de la console Cloud:

Volet d&#39;informations sur le projet affichant l&#39;ID du projet.

Cloud Shell définit également des variables d'environnement par défaut, ce qui peut vous être utile lorsque vous exécuterez de futures commandes.

  1. Pour afficher l'ID de votre projet, saisissez la commande suivante.
echo $GOOGLE_CLOUD_PROJECT

Vous devriez obtenir le résultat suivant :

<PROJECT_ID>
  1. Pour finir, définissez la configuration du projet et de la zone par défaut :
gcloud config set compute/zone us-central1-f

Vous pouvez choisir parmi différentes zones. Pour en savoir plus, consultez la page Régions et zones.

3. Appeler une API à partir d'un projet

Cet atelier de programmation vous explique comment utiliser un exemple d'API (l'API Natural Language) pour rechercher des entités (comme des personnes, des lieux et des événements) dans du texte et comment estimer le sentiment (niveau de favorabilité) de ce texte. Vous allez apprendre à :

  • Activez les API Google Cloud.
  • Obtenez une autorisation pour l'API à l'aide de clés API et de comptes de service.
  • Appelez l'API avec curl et les bibliothèques clientes.

Activer une API

  1. Sélectionnez API et Services dans le menu principal de la console Cloud.

Menu principal de la console Cloud affichant les API l&#39;option &quot;Services&quot;.

  1. Sélectionnez + ACTIVER LES API ET LES SERVICES en haut de l'écran.

ACTIVER LES API ET LES SERVICES.

  1. À ce stade, vous pouvez filtrer et parcourir les API, ou accéder directement à une API à l'aide du champ Rechercher. Recherchez Natural Language et sélectionnez API Cloud Natural Language.

Volet de l&#39;API Cloud Natural Language affichant les boutons &quot;ACTIVER&quot; et &quot;ESSAYER CETTE API&quot;.

  1. Cliquez sur ESSAYER CETTE API.

Si le bouton ESSAYER CETTE API n'est pas affiché, cliquez sur l'une des méthodes listées pour essayer cette méthode.

Créer une clé API

Étant donné que vous utilisez curl pour envoyer une requête à l'API Natural Language, vous devez générer une clé API à transmettre dans l'URL de votre requête.

  1. Dans la console Cloud, accédez au menu de navigation > API et Services > Identifiants

Menu de navigation affichant les API et Services et identifiants.

  1. Cliquez sur CRÉER DES IDENTIFIANTS, puis sélectionnez Clé API:

Volet &quot;Credentials&quot; (Identifiants) affichant les options &quot;CREATE CREDENTIALS&quot; (CRÉER DES IDENTIFIANTS) et &quot;API key&quot; (Clé API)

  1. Copiez la clé API générée, puis cliquez sur Fermer.

Utiliser la clé API pour appeler l'API

  1. Dans la ligne de commande Cloud Shell, exportez votre clé API.
export API_KEY=<YOUR_API_KEY>

Remplacez <YOUR_API_KEY> par la clé que vous avez générée précédemment.

  1. Créez une requête pour l'API dans l'éditeur Cloud Shell ou avec un éditeur Linux tel que Vim ou Emacs. Vous trouverez les détails des paramètres sous Méthode: documents.analyzeEntities. Enregistrez le résultat dans un fichier nommé request.json:
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. Appelez l'API avec les informations de la requête.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. Réexécutez la commande, redirigez la sortie vers un fichier et examinez le résultat. Les détails de la sortie du fichier JSON se trouvent également dans Method: documents.analyzeEntities.
  2. Pour modifier le texte à analyser dans le fichier request.json, remplacez la valeur content par le texte de votre choix.

4. Autoriser avec un compte de service

Les comptes de service sont souvent privilégiés par rapport aux clés API, car ils fournissent à la fois l'authentification et l'autorisation. Vous pouvez considérer les comptes de service comme des adresses e-mail pour votre application.

  1. Revenez à la section Identifiants de la page API et Services.
  2. Sélectionnez Créer des identifiants, mais cette fois, sélectionnez Compte de service.

Volet Détails du compte de service

  1. Indiquez un nom de compte de service décrivant l'objectif, par exemple "Natural Language Service Account". Le système suggère un identifiant. Vous pouvez également ajouter une description. À mesure que vous en apprendrez plus sur les comptes de service, vous leur fournirez un accès aux projets et vous accorderez aux utilisateurs l'accès au compte de service. Pour l'instant, il vous suffit de cliquer sur OK pour créer le compte de service.
  2. Pour créer une paire de clés pour le compte de service, cliquez sur d489bd059474ae59.png afin de modifier le compte de service.

Volet des comptes de service affichant la liste des comptes.

Les détails de votre compte de service s'affichent.

Volet Détails du compte de service affichant les détails du compte de service Natural Language.

  1. Copiez l'adresse e-mail du compte de service et revenez à Cloud Shell.
  2. Dans Cloud Shell, créez une paire de clés pour votre compte de service et définissez une variable d'environnement de sorte qu'elle pointe vers elle:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

Google Cloud utilise cette variable d'environnement pour trouver les identifiants. Vous n'avez donc pas besoin de les inclure dans l'appel d'API.

  1. Vous pouvez maintenant appeler l'API à l'aide de la commande suivante:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

Le résultat doit être le même qu'avant.

De nombreuses API disposent de bibliothèques clientes complètes pour extraire ces informations. Pour en savoir plus sur les bibliothèques clientes, consultez la page Bibliothèques clientes Cloud. Vous pouvez également consulter la documentation des API que vous utilisez pour connaître les bibliothèques clientes disponibles.

5. Effectuer un nettoyage

Il est déconseillé d'avoir une clé API sans restriction pour les projets. Si quelqu'un y a accès, cette personne peut s'en servir sans s'authentifier.

Pour supprimer cette clé API:

  1. Cliquez sur f6b6844bf5688982.png Menu de navigation > API et Services > Identifiants
  2. Sous Clés API, sélectionnez la clé à supprimer, puis cliquez sur 247adf2e1d1eae4b.pngSupprimer.
  3. De même, au lieu de craindre que la clé privée de votre compte de service ne soit pas protégée, sous Comptes de service, sélectionnez le compte de service à supprimer, puis cliquez sur 247adf2e1d1eae4b.pngSupprimer.

6. Félicitations

Félicitations ! Vous avez appris à créer un projet Google Cloud et à appeler une API depuis ce projet.