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#

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

Après avoir créé un GoogleCredential, utilisez-le comme argument avec 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

Créez un objet ServiceAccountCredentials à partir d'un fichier à l'aide de ServiceAccountCredentials.fromStream(InputStream). Transmettez les identifiants à un fichier 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

Utilisez la fonction bigquery.Client.from_service_account_json(path) pour créer un client BigQuery à l'aide du fichier de clé de compte de service.

from google.cloud import bigquery

# Explicitly use service account credentials by specifying the private
# key file. All clients in google-cloud-python have this helper.
client = bigquery.Client.from_service_account_json(
    "path/to/service_account.json"
)

Étapes suivantes

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

Envoyer des commentaires concernant…

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