Répertorier les ensembles de données

Ce document explique comment répertorier des ensembles de données dans BigQuery.

Vous pouvez répertorier les ensembles de données selon l'une des méthodes suivantes :

  • Utilisation de la console GCP ou de l'UI Web classique de BigQuery
  • Utilisation de la commande CLI bq ls
  • Appel de la méthode API datasets.list
  • Utilisation des bibliothèques clientes

Autorisations requises

Lorsque vous répertoriez des ensembles de données, seuls les ensembles de données pour lesquels vous disposez des autorisations bigquery.datasets.get sont renvoyés. Les rôles Cloud IAM prédéfinis suivants incluent les autorisations bigquery.datasets.get :

  • bigquery.user
  • bigquery.metadataViewer
  • bigquery.dataViewer
  • bigquery.dataOwner
  • bigquery.dataEditor
  • bigquery.admin

Pour en savoir plus sur les rôles et les autorisations Cloud IAM dans BigQuery, consultez la page Contrôle des accès.

Répertorier les ensembles de données dans un projet

Pour répertorier les ensembles de données dans un projet, procédez comme suit :

Console

Les ensembles de données sont répertoriés par projet dans le volet Ressources.

UI classique

Les ensembles de données sont répertoriés par projet dans le volet de navigation de l'interface utilisateur Web.

CLI

Exécutez la commande bq ls pour répertorier les ensembles de données par ID. Vous pouvez contrôler le résultat à l'aide de l'indicateur --format. Si vous répertoriez un ensemble de données dans un projet autre que votre projet par défaut, ajoutez l'indicateur --project_id à la commande.

Pour répertorier tous les ensembles de données d'un projet, y compris les ensembles de données anonymes, servez-vous de l'indicateur --all ou du raccourci -a.

Pour répertorier tous les ensembles de données d'un projet, à l'exception des ensembles de données anonymes, utilisez l'indicateur --datasets ou le raccourci -d. Cet indicateur est facultatif. Par défaut, les ensembles de données anonymes ne sont pas répertoriés.

Les indicateurs supplémentaires comprennent les éléments suivants :

  • --filter : permet de répertorier les ensembles de données qui correspondent à l'expression de filtre. Utilise une liste de clés d'étiquette et de valeurs séparées par des espaces au format labels.key:value. Pour en savoir plus sur le filtrage des ensembles de données à l'aide d'étiquettes, consultez la page Filtrer des ressources à l'aide d'étiquettes.
  • --max_results ou -n : entier indiquant le nombre maximal de résultats. La valeur par défaut est 50.
bq ls --filter labels.key:value \
--max_results integer \
--format=prettyjson \
--project_id project_id

Où :

  • key:value est une clé et une valeur d'étiquette.
  • integer est un entier représentant le nombre d'ensembles de données à répertorier.
  • project_id est le nom de votre projet.

Exemples :

Saisissez la commande suivante pour répertorier les ensembles de données dans votre projet par défaut. L'élément -- format est défini sur "pretty" pour renvoyer une table au format de base.

bq ls --format=pretty

Saisissez la commande suivante pour répertorier les ensembles de données dans myotherproject. L'élément --format est défini sur prettyjson pour renvoyer les résultats détaillés au format JSON.

bq ls --format=prettyjson --project_id myotherproject

Saisissez la commande suivante pour répertorier tous les ensembles de données, y compris les ensembles de données anonymes, dans votre projet par défaut. Dans le résultat, les ensembles de données anonymes commencent par un trait de soulignement.

bq ls -a

Saisissez la commande suivante pour renvoyer plus de résultats que la sortie par défaut, correspondant à 50 ensembles de données dans votre projet par défaut.

bq ls --max_results 60

Saisissez la commande suivante pour répertorier les ensembles de données de votre projet par défaut avec l'étiquette org:dev.

ba ls --filter labels.org:dev

API

Pour répertorier les ensembles de données à l'aide de l'API, appelez la méthode API datasets.list.

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#.


using Google.Cloud.BigQuery.V2;
using System;
using System.Collections.Generic;
using System.Linq;

public class BigQueryListDatasets
{
    public void ListDatasets(
        string projectId = "your-project-id"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        // Retrieve list of datasets in project
        List<BigQueryDataset> datasets = client.ListDatasets().ToList();
        // Display the results
        if (datasets.Count > 0)
        {
            Console.WriteLine($"Datasets in project {projectId}:");
            foreach (var dataset in datasets)
            {
                Console.WriteLine($"\t{dataset.Reference.DatasetId}");
            }
        }
        else
        {
            Console.WriteLine($"{projectId} does not contain any datasets.");
        }
    }
}

Go

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Go 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 sur l'API BigQuery Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
it := client.Datasets(ctx)
for {
	dataset, err := it.Next()
	if err == iterator.Done {
		break
	}
	fmt.Println(dataset.DatasetID)
}

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.

// List datasets in the default project
Page<Dataset> datasets = bigquery.listDatasets(DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}
// List datasets in a specified project
Page<Dataset> datasets = bigquery.listDatasets(projectId, DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}

Node.js

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Node.js 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 Node.js.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function listDatasets() {
  // Lists all datasets in current GCP project.

  // Lists all datasets in the specified project
  const [datasets] = await bigquery.getDatasets();
  console.log('Datasets:');
  datasets.forEach(dataset => console.log(dataset.id));
}

PHP

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour PHP 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 PHP.

use Google\Cloud\BigQuery\BigQueryClient;

/** Uncomment and populate these variables in your code */
// $projectId  = 'The Google project ID';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$datasets = $bigQuery->datasets();
foreach ($datasets as $dataset) {
    print($dataset->id() . PHP_EOL);
}

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 sur l'API BigQuery Python.

from google.cloud import bigquery

# TODO(developer): Construct a BigQuery client object.
# client = bigquery.Client()

datasets = list(client.list_datasets())
project = client.project

if datasets:
    print("Datasets in project {}:".format(project))
    for dataset in datasets:  # API request(s)
        print("\t{}".format(dataset.dataset_id))
else:
    print("{} project does not contain any datasets.".format(project))

Ruby

Avant d'essayer l'exemple ci-dessous, suivez la procédure de configuration pour Ruby 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 Ruby.

require "google/cloud/bigquery"

def list_datasets project_id = "your-project-id"
  bigquery = Google::Cloud::Bigquery.new project: project_id

  puts "Datasets in project #{project_id}:"
  bigquery.datasets.each do |dataset|
    puts "\t#{dataset.dataset_id}"
  end
end

Étapes suivantes

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

Envoyer des commentaires concernant…

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