Autentica con un archivo de clave de cuenta de servicio

Crea y obtén de forma manual las credenciales de la cuenta de servicio para usar BigQuery cuando una aplicación se implementa en las instalaciones locales 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#

Antes de probar este ejemplo, sigue las instrucciones de configuración para C# que se encuentran en Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para C#.

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

Después de crear una GoogleCredential, pásala a BigQueryClient.Create(String, GoogleCredential) para crear el objeto de servicio de BigQuery.

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

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración de Java incluidas en Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para 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 esas 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());
  }
}

Node.js

Antes de probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en Guía de inicio rápido: usa bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

// Create a BigQuery client explicitly using service account credentials.
// by specifying the private key file.
const {BigQuery} = require('@google-cloud/bigquery');

const options = {
  keyFilename: 'path/to/service_account.json',
  projectId: 'my_project',
};

const bigquery = new BigQuery(options);

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración de Python incluidas en Guía de inicio rápido: usa bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Usa google.oauth2.service_account.Credentials.from_service_account_file para autenticar con un archivo de clave de cuenta de servicio. Crea un Cliente de BigQuery con las credenciales.

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

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.