S'authentifier avec un fichier de clé de compte de service

Créez et obtenez manuellement des identifiants de compte de service pour utiliser BigQuery lorsqu'une application est déployée sur site ou sur d'autres clouds publics. Vous pouvez définir la variable d'environnement pour charger les identifiants à l'aide des identifiants par défaut de l'application, ou vous pouvez spécifier ce chemin pour charger manuellement les identifiants dans le code de votre application.

Ce guide décrit comment charger les identifiants à partir d'un fichier.

Avant de commencer

Charger des identifiants depuis un fichier

Créez des identifiants dans votre application à partir du fichier de compte de service. Utilisez ensuite les identifiants pour créer un objet de service avec les Bibliothèques clientes BigQuery.

C#

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour C# décrite dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery C#.

Chargez les identifiants à partir du fichier JSON à l'aide de GoogleCredential.FromStream(Stream).

Après avoir créé un élément GoogleCredential, transmettez-le en tant qu'argument à la méthode BigQueryClient.Create(String, GoogleCredential) pour créer l'objet de service BigQuery.

Pour voir des exemples, consultez la section Configurer l'authentification pour les applications de production serveur à serveur.

Java

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Java dans le guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Java.

Créez un objet ServiceAccountCredentials à partir d'un fichier à l'aide de ServiceAccountCredentials.fromStream(InputStream). Transmettez les identifiants à un BigQueryOptions.Builder et créez le service BigQuery à l'aide de ces options.

public static void explicit() throws IOException {
  // Load credentials from JSON key file. If you can't set the GOOGLE_APPLICATION_CREDENTIALS
  // environment variable, you can explicitly load the credentials file to construct the
  // credentials.
  GoogleCredentials credentials;
  File credentialsPath = new File("service_account.json");  // TODO: update to your key path.
  try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) {
    credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
  }

  // Instantiate a client.
  BigQuery bigquery =
      BigQueryOptions.newBuilder().setCredentials(credentials).build().getService();

  // Use the client.
  System.out.println("Datasets:");
  for (Dataset dataset : bigquery.listDatasets().iterateAll()) {
    System.out.printf("%s%n", dataset.getDatasetId().getDataset());
  }
}

Python

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Python décrite dans le guide de démarrage rapide de BigQuery relatif à l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery Python.

Utilisez google.oauth2.service_account.Credentials.from_service_account_file pour vous authentifier avec un fichier de clé de compte de service. Créez un client BigQuery à l'aide des identifiants.

from google.cloud import bigquery
from google.oauth2 import service_account

# TODO(developer): Set key_path to the path to the service account key
#                  file.
# key_path = "path/to/service_account.json"

credentials = service_account.Credentials.from_service_account_file(
    key_path,
    scopes=["https://www.googleapis.com/auth/cloud-platform"],
)

client = bigquery.Client(
    credentials=credentials,
    project=credentials.project_id,
)

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.