Autentica con un archivo de clave de cuenta de servicio

Crea y obtén manualmente las credenciales de la cuenta de servicio para usar BigQuery cuando una aplicación se implementa en las instalaciones o en otras nubes públicas. Puedes configurar la variable de entorno a fin de que cargue las credenciales con Credencial predeterminada de la aplicación o puedes especificar la ruta para cargar las credenciales manualmente en tu código de aplicación.

En esta guía, se mostrará cómo cargar las credenciales de un archivo.

Antes de comenzar

Carga credenciales desde un archivo

Crea credenciales en tu aplicación desde el archivo de cuenta de servicio. Luego, usa las credenciales para crear un objeto de servicio con las bibliotecas cliente de BigQuery.

C#

Carga las credenciales desde el archivo JSON con GoogleCredential.FromStream(Stream).

Una vez que crees una GoogleCredential, pásala a BigQueryClient.Create(String, GoogleCredential) para crear el objeto de servicio de BigQuery.

Si quieres ver ejemplos, consulta Configura la autenticación para aplicaciones de producción de servidor a servidor.

Java

Crea un objeto ServiceAccountCredentials desde un archivo con ServiceAccountCredentials.fromStream(InputStream). Pasa las credenciales a BigQueryOptions.Builder y crea el servicio de BigQuery desde estas opciones.

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

Usa bigquery.Client.from_service_account_json(path) para crear un Cliente de BigQuery mediante el archivo de clave de cuenta de servicio.

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"
)

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.