Afficher des étiquettes

Cette page explique comment afficher les étiquettes de vos ressources BigQuery.

Aperçu

Vous pouvez afficher les étiquettes de plusieurs façons :

  • En utilisant Cloud Console ou l'UI Web classique de BigQuery
  • En utilisant la commande bq show de l'outil de ligne de commande
  • En appelant les méthodes d'API datasets.get ou tables.get
  • En utilisant les bibliothèques clientes

Les vues étant traitées comme des ressources de table, la méthode tables.get vous permet d'obtenir des informations à la fois sur les étiquettes de vue et de table.

Autorisations requises

Les autorisations requises pour afficher des libellés dépendent du type de ressource auquel vous accédez.

Autorisations d'ensemble de données

Pour obtenir des informations sur un ensemble de données, vous devez au minimum disposer des autorisations bigquery.datasets.get. 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

En outre, si un utilisateur possède les autorisations bigquery.datasets.create, il obtient également un accès bigquery.dataOwner à l'ensemble de données qu'il crée. L'accès bigquery.dataOwner permet à l'utilisateur d'obtenir des informations sur un ensemble de données.

Pour en savoir plus sur les rôles et les autorisations Cloud IAM dans BigQuery, consultez la page Rôles et autorisations prédéfinis.

Autorisations relatives aux tables et aux vues

Pour obtenir des informations sur les tables ou les vues, vous devez au minimum disposer des autorisations bigquery.tables.get. Tous les rôles IAM prédéfinis incluent les autorisations bigquery.tables.get, à l'exception de bigquery.user et bigquery.jobUser.

En outre, si un utilisateur possède les autorisations bigquery.datasets.create, il obtient également un accès bigquery.dataOwner à l'ensemble de données qu'il crée. L'accès bigquery.dataOwner donne à l'utilisateur la possibilité d'obtenir des informations sur les tables et les vues d'un ensemble de données.

Pour en savoir plus sur les rôles et les autorisations Cloud IAM dans BigQuery, consultez la page Rôles et autorisations prédéfinis.

Autorisations relatives aux tâches

Pour obtenir des données et métadonnées sur les tâches, vous devez au minimum disposer des autorisations bigquery.jobs.get. Le rôle Cloud IAM prédéfini suivant inclut les autorisations bigquery.jobs.get :

  • bigquery.admin

Si vous accordez à un compte le rôle bigquery.admin, l'utilisateur pourra afficher toutes les données de tâche du projet, indépendamment de l'utilisateur ayant envoyé la tâche.

Les rôles suivants disposent des autorisations bigquery.jobs.get pour les tâches créées par vos utilisateurs. Ces utilisateurs ne sont autorisés à afficher les données de tâches que pour les tâches qu'ils envoient :

  • bigquery.user
  • bigquery.jobUser

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

Afficher des libellés d'ensemble de données, de table et de vue

Pour afficher les étiquettes d'une ressource, procédez comme suit :

Console

  1. Dans Cloud Console, sélectionnez un ensemble de données, une table ou une vue. Vous ne pouvez pas afficher les libellés d'une tâche dans Cloud Console.

  2. Pour les ensembles de données, la page des détails correspondante s'ouvre automatiquement. Pour les tables et les vues, cliquez sur Details (Détails) pour ouvrir la page des détails. Les informations sur les libellés apparaissent dans la table d'informations de la ressource.

    Détails de la table

UI classique

  1. Dans l'interface utilisateur Web, sélectionnez un ensemble de données, une table ou une vue. Vous ne pouvez pas afficher les libellés d'une tâche dans l'interface utilisateur Web classique.

  2. Dans le cas des ensembles de données, la page Détails de l'ensemble de données s'ouvre automatiquement. Pour les tables et les vues, cliquez sur Details (Détails) pour ouvrir la page des détails. Les informations sur les étiquettes apparaissent dans la table d'informations de la ressource.

CLI

Exécutez la commande bq show en spécifiant l'ID de ressource. Vous pouvez contrôler le format de sortie à l'aide de l'option --format. Si la ressource se trouve dans un projet autre que celui par défaut, ajoutez l'ID du projet en respectant le format suivant : [PROJECT_ID]:[DATASET]. Pour améliorer la lisibilité de la sortie, vous pouvez définir l'option --format sur pretty.

bq show --format=pretty [RESOURCE_ID]

[RESOURCE_ID] est un ensemble de données, une table, une vue ou une tâche valide.

Exemples :

Saisissez la commande suivante pour afficher les libellés associés à mydataset dans votre projet par défaut :

bq show --format=pretty mydataset

La sortie ressemble à ceci :

+-----------------+--------------------------------------------------------+---------------------+
|  Last modified  |                          ACLs                          |       Labels        |
+-----------------+--------------------------------------------------------+---------------------+
| 11 Jul 19:34:34 | Owners:                                                | department:shipping |
|                 |   projectOwners,                                       |                     |
|                 | Writers:                                               |                     |
|                 |   projectWriters                                       |                     |
|                 | Readers:                                               |                     |
|                 |   projectReaders                                       |                     |
+-----------------+--------------------------------------------------------+---------------------+

Saisissez la commande ci-dessous pour afficher les libellés associés à mydataset.mytable. mydataset se trouve dans myotherproject, et non dans votre projet par défaut.

bq show --format=pretty myotherproject:mydataset.mytable

Pour une table en cluster, le résultat ressemble à ce qui suit :

+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+
|  Last modified  |            Schema            | Total Rows | Total Bytes |   Expiration    |               Time Partitioning                | Clustered Fields | Labels  |
+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+
| 25 Jun 19:28:14 | |- timestamp: timestamp      | 0          | 0           | 25 Jul 19:28:14 | DAY (field: timestamp, expirationMs: 86400000) | customer_id      | org:dev |
|                 | |- customer_id: string       |            |             |                 |                                                |                  |         |
|                 | |- transaction_amount: float |            |             |                 |                                                |                  |         |
+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+

API

Appelez la méthode datasets.get ou tables.get. La réponse inclut toutes les étiquettes associées à cette ressource.

Vous pouvez également utiliser datasets.list pour afficher les libellés de plusieurs ensembles de données ou tables.list pour afficher les libellés de plusieurs tables et vues.

Les vues étant traitées comme des ressources de table, les méthodes tables.get et tables.list vous permettent d'obtenir des informations à la fois sur les étiquettes de vue et de table.

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 sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API BigQuery Go.

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/bigquery"
)

// printDatasetLabels retrieves label metadata from a dataset and prints it to an io.Writer.
func printDatasetLabels(w io.Writer, projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()

	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}

	meta, err := client.Dataset(datasetID).Metadata(ctx)
	if err != nil {
		return err
	}
	fmt.Fprintf(w, "Dataset %s labels:\n", datasetID)
	if len(meta.Labels) == 0 {
		fmt.Fprintln(w, "Dataset has no labels defined.")
		return nil
	}
	for k, v := range meta.Labels {
		fmt.Fprintf(w, "\t%s:%s\n", k, v)
	}
	return nil
}

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 sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery en langage Python.

# TODO(developer): Import the client library.
# from google.cloud import bigquery

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

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = "your-project.your_dataset"

dataset = client.get_dataset(dataset_id)  # Make an API request.

# View dataset labels.
print("Dataset ID: {}".format(dataset_id))
print("Labels:")
if dataset.labels:
    for label, value in dataset.labels.items():
        print("\t{}: {}".format(label, value))
else:
    print("\tDataset has no labels defined.")

Afficher les étiquettes d'une tâche

Une fois une tâche envoyée, les libellés correspondants n'apparaissent pas dans Cloud Console, ni dans l'UI Web classique de BigQuery. Pour afficher les étiquettes d'une tâche, exécutez la commande bq show -j [JOB_ID] ou utilisez l'API ou les bibliothèques clientes.

Console

Vous ne pouvez pas afficher les étiquettes d'une tâche à l'aide de Cloud Console.

UI classique

Vous ne pouvez pas afficher les étiquettes d'une tâche à l'aide de l'UI Web classique de BigQuery.

CLI

Pour afficher les libellés d'une tâche de requête à l'aide de l'outil de ligne de commande bq, saisissez la commande bq show -j avec l'ID de la tâche de requête. L'option --format peut être utilisée pour contrôler la sortie. Par exemple, si l'ID de votre tâche de requête correspond à bqjob_r1234d57f78901_000023746d4q12_1, saisissez la commande suivante :

bq show -j --format=pretty bqjob_r1234d57f78901_000023746d4q12_1

Le résultat doit se présenter sous la forme suivante :

+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+
| Job Type |  State  |   Start Time    | Duration |    User Email     | Bytes Processed | Bytes Billed |        Labels        |
+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+
| query    | SUCCESS | 03 Dec 15:00:41 | 0:00:00  | email@example.com | 255             | 10485760     | department:shipping  |
|          |         |                 |          |                   |                 |              | costcenter:logistics |
+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+

API

Appelez la méthode jobs.get. La réponse inclut toutes les étiquettes associées à cette ressource.

Étapes suivantes

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

Envoyer des commentaires concernant…

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