Bibliothèques clientes Workbench Agent Platform

Cette page explique comment débuter avec les bibliothèques clientes Cloud pour l'API Notebooks. Les bibliothèques clientes facilitent l'accès aux APIGoogle Cloud à l'aide d'un langage compatible. Bien que vous puissiez utiliser directement les APIGoogle Cloud en envoyant des requêtes brutes au serveur, les bibliothèques clientes vous simplifient la tâche en réduisent considérablement la quantité de code à écrire.

Pour en savoir plus sur les bibliothèques clientes Cloud et les anciennes bibliothèques clientes pour les API Google, consultez Présentation des bibliothèques clientes.

Installer la bibliothèque cliente

C++

Consultez le fichier GitHub README pour connaître les prérequis de cette bibliothèque cliente et installer des dépendances.

C#

Install-Package Google.Cloud.Notebooks.V1 -Pre

Pour en savoir plus, consultez la page Configurer un environnement de développement C#.

Go

go get cloud.google.com/go/notebooks

Pour en savoir plus, consultez Configurer un environnement de développement Go.

Java

Si vous utilisez Maven, ajoutez les lignes suivantes à votre fichier pom.xml. Pour en savoir plus sur les BOM, consultez la page The Google Cloud Platform Libraries BOM (BOM des bibliothèques Google Cloud Platform).

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.79.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-notebooks</artifactId>
  </dependency>
</dependencies>

Si vous utilisez Gradle, ajoutez les éléments suivants à vos dépendances :

implementation 'com.google.cloud:google-cloud-notebooks:1.89.0'

Si vous utilisez sbt, ajoutez les éléments suivants à vos dépendances :

libraryDependencies += "com.google.cloud" % "google-cloud-notebooks" % "1.89.0"

Pour en savoir plus, consultez Configurer un environnement de développement Java.

Node.js

npm install @google-cloud/notebooks

Pour en savoir plus, consultez Configurer un environnement de développement Node.js.

PHP

composer require google/cloud

Pour en savoir plus, consultez la page Utiliser PHP sur Google Cloud.

Python

Mac/Linux

pip install virtualenv
virtualenv ENVIRONMENT_NAME
source ENVIRONMENT_NAME/bin/activate
ENVIRONMENT_NAME/bin/pip install google-cloud-notebooks

Windows

pip install --upgrade google-cloud-notebooks
pip install virtualenv
virtualenv ENVIRONMENT_NAME
ENVIRONMENT_NAME\Scripts\activate
ENVIRONMENT_NAME\Scripts\pip.exe install google-cloud-notebooks

Pour en savoir plus, consultez la page Configurer un environnement de développement Python.

Ruby

gem install google-cloud-notebooks

Pour en savoir plus, consultez Configurer un environnement de développement Ruby.

Configurer l'authentification

Pour authentifier les appels aux API Google Cloud , les bibliothèques clientes utilisent le service Identifiants par défaut de l'application (ADC). Les bibliothèques recherchent des identifiants dans un ensemble d'emplacements définis et les utilisent pour authentifier les requêtes adressées à l'API. Grâce à ADC, vous pouvez mettre des identifiants à disposition de votre application dans divers environnements, tels que l'environnement de développement ou de production local, sans avoir à modifier le code de votre application.

Pour les environnements de production, la façon de configurer ADC dépend du service et du contexte. Pour en savoir plus, consultez Configurer le service Identifiants par défaut de l'application.

Pour un environnement de développement local, vous pouvez configurer ADC avec les identifiants associés à votre compte Google :

  1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

    gcloud init

    Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  2. Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :

    gcloud auth application-default login

    Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.

    Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.

    Un écran de connexion s'affiche. Une fois que vous êtes connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par ADC.

Utiliser la bibliothèque cliente

Les exemples suivants montrent comment utiliser la bibliothèque cliente dans certains des langages disponibles.

C++

// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! [all]
#include "google/cloud/notebooks/v2/notebook_client.h"
#include "google/cloud/location.h"
#include <iostream>

int main(int argc, char* argv[]) try {
  if (argc != 3) {
    std::cerr << "Usage: " << argv[0] << " project-id location-id\n";
    return 1;
  }

  auto const location = google::cloud::Location(argv[1], argv[2]);

  namespace notebooks = ::google::cloud::notebooks_v2;
  auto client = notebooks::NotebookServiceClient(
      notebooks::MakeNotebookServiceConnection());

  for (auto i : client.ListInstances(location.FullName())) {
    if (!i) throw std::move(i).status();
    std::cout << i->DebugString() << "\n";
  }

  return 0;
} catch (google::cloud::Status const& status) {
  std::cerr << "google::cloud::Status thrown: " << status << "\n";
  return 1;
}
//! [all]

Node.js

// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

async function main(projectId, location) {
  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  // const projectId = 'my-project';
  // const location = 'global';

  // Imports the Google Cloud Some API library
  const {NotebookServiceClient} = require('@google-cloud/notebooks');
  const client = new NotebookServiceClient();
  async function listInstances() {
    const [instances] = await client.listInstances({
      parent: `projects/${projectId}/locations/${location}`,
    });
    for (const instance of instances) {
      console.info(`instance: ${instance.name}`);
    }
  }
  listInstances();
}

main(...process.argv.slice(2));
process.on('unhandledRejection', err => {
  console.error(err.message);
  process.exitCode = 1;
});

Autres ressources

C++

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour C++ :

C#

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour C# :

Go

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour Go :

Java

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour Java :

Node.js

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour Node.js :

PHP

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour PHP :

Python

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour Python :

Ruby

La liste suivante contient des liens vers d'autres ressources liées à la bibliothèque cliente pour Ruby :