Visualizzazione delle etichette

Questa pagina spiega come visualizzare le etichette sulle risorse BigQuery.

Puoi visualizzare le etichette in base a:

  • Utilizzo della console Google Cloud
  • Esecuzione di query su INFORMATION_SCHEMA visualizzazioni
  • Utilizzo del comando bq show dello strumento a riga di comando bq
  • Chiamata dei metodi API datasets.get o tables.get
  • Utilizzo delle librerie client

Poiché le visualizzazioni vengono trattate come risorse di tabella, utilizzi il metodo tables.get per ottenere informazioni sulle etichette sia per le visualizzazioni che per le tabelle.

Prima di iniziare

Concedi ruoli IAM (Identity and Access Management) che forniscono agli utenti le autorizzazioni necessarie per eseguire ogni attività descritta in questo documento.

Autorizzazioni obbligatorie

Le autorizzazioni richieste per visualizzare le etichette dipendono dai tipi di risorse a cui puoi accedere. Per eseguire le attività descritte in questo documento, devi disporre delle seguenti autorizzazioni.

Autorizzazioni per visualizzare i dettagli del set di dati

Per visualizzare i dettagli del set di dati, devi disporre dell'autorizzazione IAM bigquery.datasets.get.

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per visualizzare i dettagli del set di dati:

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

Inoltre, se disponi dell'autorizzazione bigquery.datasets.create, puoi visualizzare i dettagli dei set di dati che crei.

Per saperne di più sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.

Autorizzazioni per visualizzare i dettagli di una tabella o di una vista

Per visualizzare i dettagli della tabella o della vista, devi disporre dell'autorizzazione IAM bigquery.tables.get.

Tutti i ruoli IAM predefiniti includono le autorizzazioni necessarie per visualizzare i dettagli di una tabella o di una vista ad eccezione di roles/bigquery.user e roles/bigquery.jobUser.

Inoltre, se disponi dell'autorizzazione bigquery.datasets.create, puoi visualizzare i dettagli delle tabelle e delle viste nei set di dati che crei.

Per saperne di più sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.

Autorizzazioni per visualizzare i dettagli del job

Per visualizzare i dettagli del job, devi disporre dell'autorizzazione IAM bigquery.jobs.get.

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per visualizzare i dettagli del job:

  • roles/bigquery.admin (consente di visualizzare i dettagli di tutti i job nel progetto)
  • roles/bigquery.user (consente di visualizzare i dettagli dei tuoi lavori)
  • roles/bigquery.jobUser (consente di visualizzare i dettagli dei tuoi lavori)

Per saperne di più sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.

Visualizzare le etichette di set di dati, tabelle e viste

Per visualizzare le etichette di una risorsa, seleziona una delle seguenti opzioni:

Console

  1. Per i set di dati, viene aperta automaticamente la pagina dei dettagli del set di dati. Per tabelle e viste, fai clic su Dettagli per aprire la pagina dei dettagli. Le informazioni sull'etichetta vengono visualizzate nella tabella delle informazioni per la risorsa.

    Dettagli tabella

SQL

Esegui una query sulla vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS per visualizzare le etichette di un set di dati oppure sulla vista INFORMATION_SCHEMA.TABLE_OPTIONS per visualizzare le etichette di una tabella. Ad esempio, la seguente query SQL restituisce le etichette del set di dati denominato mydataset:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

    SELECT
      *
    FROM
      INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
      schema_name = 'mydataset'
      AND option_name = 'labels';

  3. Fai clic su Esegui.

Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.

bq

Utilizza il comando bq show con l'ID risorsa. Il flag --format può essere utilizzato per controllare l'output. Se la risorsa si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato: [PROJECT_ID]:[DATASET]. Per una maggiore leggibilità, l'output è controllato impostando il flag --format su pretty.

bq show --format=pretty [RESOURCE_ID]

Dove [RESOURCE_ID] è un ID valido per set di dati, tabella, visualizzazione o job.

Esempi:

Inserisci il comando seguente per visualizzare le etichette per mydataset nel tuo progetto predefinito.

bq show --format=pretty mydataset

L'output è simile al seguente:

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

Inserisci il seguente comando per visualizzare le etichette per mydataset.mytable. mydataset si trova in myotherproject, non nel tuo progetto predefinito.

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

L'output è simile al seguente per una tabella in cluster:

+-----------------+------------------------------+------------+-------------+-----------------+------------------------------------------------+------------------+---------+
|  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

Chiama il metodo datasets.get o il metodo tables.get. La risposta include tutte le etichette associate alla risorsa.

In alternativa, puoi utilizzare datasets.list per visualizzare le etichette per più set di dati o tables.list per visualizzare le etichette per più tabelle e viste.

Poiché le visualizzazioni vengono trattate come risorse di tabella, utilizzi i metodi tables.get e tables.list per visualizzare le informazioni sulle etichette sia per le visualizzazioni sia per le tabelle.

Vai

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

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)
	}
	defer client.Close()

	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
}

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;

// Sample to get dataset labels
public class GetDatasetLabels {

  public static void runGetDatasetLabels() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    getDatasetLabels(datasetName);
  }

  public static void getDatasetLabels(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      Dataset dataset = bigquery.getDataset(datasetName);
      dataset
          .getLabels()
          .forEach((key, value) -> System.out.println("Retrieved labels successfully"));
    } catch (BigQueryException e) {
      System.out.println("Label was not found. \n" + e.toString());
    }
  }
}

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Node.js.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

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

async function getDatasetLabels() {
  // Gets labels on a dataset.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";

  // Retrieve current dataset metadata.
  const dataset = bigquery.dataset(datasetId);
  const [metadata] = await dataset.getMetadata();
  const labels = metadata.labels;

  console.log(`${datasetId} Labels:`);
  for (const [key, value] of Object.entries(labels)) {
    console.log(`${key}: ${value}`);
  }
}
getDatasetLabels();

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Python.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.


from google.cloud import bigquery

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

Visualizzare le etichette delle tabelle

Vai

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

import (
	"context"
	"fmt"
	"io"

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

// tableLabels demonstrates fetching metadata from a table and printing the Label metadata to an io.Writer.
func tableLabels(w io.Writer, projectID, datasetID, tableID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	// tableID := "mytable"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %w", err)
	}
	defer client.Close()

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

Java

Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Table;
import com.google.cloud.bigquery.TableId;

// Sample to get table labels
public class GetTableLabels {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String tableName = "MY_TABLE_NAME";
    getTableLabels(datasetName, tableName);
  }

  public static void getTableLabels(String datasetName, String tableName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      // This example table starts with existing label { color: 'green' }
      Table table = bigquery.getTable(TableId.of(datasetName, tableName));
      table
          .getLabels()
          .forEach((key, value) -> System.out.println("Retrieved labels successfully"));
    } catch (BigQueryException e) {
      System.out.println("Label was not deleted. \n" + e.toString());
    }
  }
}

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Node.js.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

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

async function getTableLabels() {
  // Gets labels on a dataset.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";
  // const tableId = "my_table";

  // Retrieve current dataset metadata.
  const table = bigquery.dataset(datasetId).table(tableId);
  const [metadata] = await table.getMetadata();
  const labels = metadata.labels;

  console.log(`${tableId} Labels:`);
  for (const [key, value] of Object.entries(labels)) {
    console.log(`${key}: ${value}`);
  }
}
getTableLabels();

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Python.

Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.

from google.cloud import bigquery

client = bigquery.Client()

# TODO(dev): Change table_id to the full name of the table you want to create.
table_id = "your-project.your_dataset.your_table_name"

table = client.get_table(table_id)  # API Request

# View table labels
print(f"Table ID: {table_id}.")
if table.labels:
    for label, value in table.labels.items():
        print(f"\t{label}: {value}")
else:
    print("\tTable has no labels defined.")

Visualizzare le etichette dei job

Per visualizzare le etichette di un job, seleziona una delle seguenti opzioni:

SQL

Esegui una query sulle visualizzazioni INFORMATION_SCHEMA.JOB_BY_* per visualizzare le etichette di un job. Ad esempio, la seguente query SQL restituisce il testo della query e le etichette dei job inviati dall'utente corrente nel progetto corrente:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

    SELECT
      query,
      labels
    FROM
      INFORMATION_SCHEMA.JOBS_BY_USER;

  3. Fai clic su Esegui.

Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.

bq

Per visualizzare le etichette di un job di query utilizzando lo strumento a riga di comando bq, inserisci il comando bq show -j con l'ID job del job di query. Il flag --format può essere utilizzato per controllare l'output. Ad esempio, se il tuo job di query ha l'ID job bqjob_r1234d57f78901_000023746d4q12_1, inserisci il seguente comando:

bq show -j --format=pretty bqjob_r1234d57f78901_000023746d4q12_1

L'output dovrebbe essere simile al seguente:

+----------+---------+-----------------+----------+-------------------+-----------------+--------------+----------------------+
| 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

Chiama il metodo jobs.get. La risposta include tutte le etichette associate alla risorsa.

Visualizzare le etichette delle prenotazioni

Per visualizzare le etichette di una prenotazione, seleziona una delle seguenti opzioni:

SQL

Esegui query sulle INFORMATION_SCHEMA.RESERVATIONS visualizzazioni per visualizzare le etichette di una prenotazione. Ad esempio, la seguente query SQL restituisce il nome e le etichette della prenotazione:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

    SELECT
      reservation_name,
      labels
    FROM
      INFORMATION_SCHEMA.RESERVATIONS
    WHERE reservation_name = RESERVATION_NAME;

    Sostituisci quanto segue:

    • RESERVATION_NAME: il nome della prenotazione.

  3. Fai clic su Esegui.

Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.

bq

Utilizza il comando bq show per visualizzare le etichette di prenotazione.

bq show --format=prettyjson --reservation=true --location=LOCATION RESERVATION_NAME

Sostituisci quanto segue:

  • LOCATION: la posizione della prenotazione.
  • RESERVATION_NAME: il nome della prenotazione.

L'output è simile al seguente:

{
  "autoscale": {
    "maxSlots": "100"
  },
  "creationTime": "2023-10-26T15:16:28.196940Z",
  "edition": "ENTERPRISE",
  "labels": {
    "department": "shipping"
  },
  "name": "projects/myproject/locations/US/reservations/myreservation",
  "updateTime": "2025-06-05T19:37:28.125914Z"
}

Passaggi successivi