Aggiunta di etichette alle risorse

Questa pagina spiega come etichettare le risorse BigQuery.

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. Le autorizzazioni richieste per eseguire un'attività sono elencate nella sezione "Ruoli IAM richiesti" dell'attività.

Aggiungere etichette ai set di dati

È possibile aggiungere un'etichetta a un set di dati BigQuery quando viene creato utilizzando il comando bq mk dello strumento a riga di comando bq o chiamando il metodo API datasets.insert. Non puoi aggiungere un'etichetta a un set di dati quando viene creato utilizzando la console Google Cloud .

Questa pagina spiega come aggiungere un'etichetta a un set di dati dopo la sua creazione. Per ulteriori informazioni sull'aggiunta di un'etichetta durante la creazione di un set di dati, vedi Creare un set di dati.

Quando aggiungi un'etichetta a un set di dati, questa non viene propagata alle risorse all'interno del set di dati. Le etichette dei set di dati non vengono ereditate da tabelle o viste. Inoltre, quando aggiungi un'etichetta a un set di dati, questa viene inclusa nei dati di fatturazione dell'archiviazione, ma non in quelli relativi ai job.

Per ulteriori dettagli sul formato di un'etichetta, consulta Requisiti per le etichette.

Ruoli IAM richiesti

Per ottenere l'autorizzazione necessaria per aggiungere un'etichetta a un set di dati esistente, chiedi all'amministratore di concederti il ruolo IAM Editor dati BigQuery (roles/bigquery.dataEditor). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione bigquery.datasets.update necessaria per aggiungere un'etichetta a un set di dati esistente.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

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

Aggiungere un'etichetta a un set di dati

Per aggiungere un'etichetta a un set di dati dopo la sua creazione:

Console

  1. Nella console Google Cloud , seleziona il set di dati.

  2. Nella pagina dei dettagli del set di dati, fai clic sull'icona a forma di matita a destra di Etichette.

    Matita per etichette.

  3. Nella finestra di dialogo Modifica etichette:

    • Fai clic su Aggiungi etichetta.
    • Inserisci la chiave e il valore. Per applicare altre etichette, fai clic su Aggiungi etichetta. Ogni chiave può essere utilizzata una sola volta per set di dati, ma puoi utilizzare la stessa chiave in set di dati diversi nello stesso progetto.
    • Per aggiornare un'etichetta, modifica le chiavi o i valori esistenti.
    • Per salvare le modifiche, fai clic su Aggiorna.

SQL

Utilizza l'istruzione DDL ALTER SCHEMA SET OPTIONS per impostare le etichette su un set di dati esistente. L'impostazione delle etichette sovrascrive le etichette esistenti nel set di dati. L'esempio seguente imposta un'etichetta sul set di dati mydataset:

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

    Vai a BigQuery

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

    ALTER SCHEMA mydataset
    SET OPTIONS (
      labels = [('sensitivity', 'high')]);

  3. Fai clic su Esegui.

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

bq

Per aggiungere un'etichetta a un set di dati esistente, esegui il comando bq update con il flag set_label. Ripeti il flag per aggiungere più etichette.

Se il set di dati si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato: PROJECT_ID:DATASET.

bq update --set_label KEY:VALUE PROJECT_ID:DATASET

Sostituisci quanto segue:

  • KEY:VALUE: una coppia chiave-valore per un'etichetta che vuoi aggiungere. La chiave deve essere univoca. Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti i caratteri internazionali.
  • PROJECT_ID: il tuo ID progetto.
  • DATASET: il set di dati che stai etichettando.

Esempi:

Per aggiungere un'etichetta per monitorare i reparti, inserisci il comando bq update e specifica department come chiave dell'etichetta. Ad esempio, per aggiungere un'etichetta department:shipping a mydataset nel progetto predefinito, inserisci:

    bq update --set_label department:shipping mydataset

Per aggiungere più etichette a un set di dati, ripeti il flag set_label e specifica una chiave univoca per ogni etichetta.Ad esempio, per aggiungere un'etichetta department:shipping e un'etichetta cost_center:logistics a mydataset nel tuo progetto predefinito, inserisci:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset

API

Per aggiungere un'etichetta a un set di dati esistente, chiama il metodo datasets.patch e compila la proprietà labels per la risorsa del set di dati.

Poiché il metodo datasets.update sostituisce l'intera risorsa del set di dati, è preferibile il metodo datasets.patch.

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"

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

// addDatasetLabel demonstrates adding label metadata to an existing dataset.
func addDatasetLabel(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()

	ds := client.Dataset(datasetID)
	meta, err := ds.Metadata(ctx)
	if err != nil {
		return err
	}

	update := bigquery.DatasetMetadataToUpdate{}
	update.SetLabel("color", "green")
	if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Questo esempio utilizza la libreria client HTTP di Google per Java per inviare una richiesta all'API BigQuery.

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;
import java.util.HashMap;
import java.util.Map;

// Sample to updates a label on dataset
public class LabelDataset {

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

  public static void labelDataset(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();

      // This example dataset starts with existing label { color: 'green' }
      Dataset dataset = bigquery.getDataset(datasetName);
      // Add label to dataset
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      dataset.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \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 labelDataset() {
  // Updates a label 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();

  // Add label to dataset metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await dataset.setMetadata(metadata);

  console.log(`${datasetId} labels:`);
  console.log(apiResponse.labels);
}

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.
dataset.labels = {"color": "green"}
dataset = client.update_dataset(dataset, ["labels"])  # Make an API request.

print("Labels added to {}".format(dataset_id))

Aggiungere etichette a tabelle e visualizzazioni

Questa pagina spiega come aggiungere un'etichetta a una tabella o una visualizzazione esistente. Per saperne di più sull'aggiunta di un'etichetta durante la creazione di una tabella o di una visualizzazione, consulta Creazione di una tabella o Creazione di una visualizzazione.

Poiché le viste vengono trattate come risorse di tabella, utilizzi il metodo tables.patch per modificare sia le viste che le tabelle.

Ruoli IAM richiesti

Per ottenere le autorizzazioni necessarie per aggiungere un'etichetta a una tabella o una vista esistente, chiedi all'amministratore di concederti il ruolo IAM Editor dati BigQuery (roles/bigquery.dataEditor). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per aggiungere un'etichetta a una tabella o una vista esistente. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per aggiungere un'etichetta a una tabella o una vista esistente sono necessarie le seguenti autorizzazioni:

  • bigquery.tables.update
  • bigquery.tables.get

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

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

Aggiungere un'etichetta a una tabella o a una vista

Per aggiungere un'etichetta a una tabella o una vista esistente:

Console

  1. Nella console Google Cloud , seleziona la tabella o la visualizzazione.

  2. Fai clic sulla scheda Dettagli.

    Dettagli della tabella.

  3. Fai clic sull'icona a forma di matita a destra di Etichette.

    Matita per etichette.

  4. Nella finestra di dialogo Modifica etichette:

    • Fai clic su Aggiungi etichetta.
    • Inserisci la chiave e il valore per aggiungere un'etichetta. Per applicare altre etichette, fai clic su Aggiungi etichetta. Ogni chiave può essere utilizzata una sola volta per set di dati, ma puoi utilizzare la stessa chiave in set di dati diversi nello stesso progetto.
    • Modifica le chiavi o i valori esistenti per aggiornare un'etichetta.
    • Fai clic su Update (Aggiorna) per salvare le modifiche.

SQL

Utilizza l'istruzione DDL ALTER TABLE SET OPTIONS per impostare le etichette su una tabella esistente oppure l'istruzione DDL ALTER VIEW SET OPTIONS per impostare le etichette su una vista esistente. L'impostazione delle etichette sovrascrive le etichette esistenti nella tabella o nella visualizzazione. L'esempio seguente imposta due etichette nella tabella mytable:

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

    Vai a BigQuery

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

    ALTER TABLE mydataset.mytable
    SET OPTIONS (
      labels = [('department', 'shipping'), ('cost_center', 'logistics')]);

  3. Fai clic su Esegui.

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

bq

Per aggiungere un'etichetta a una tabella o una visualizzazione esistente, esegui il comando bq update con il flag set_label. Per aggiungere più etichette, ripeti il flag.

Se la tabella o la vista si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato: project_id:dataset.

bq update \
--set_label KEY:VALUE \
PROJECT_ID:DATASET.TABLE_OR_VIEW

Sostituisci quanto segue:

  • KEY:VALUE: una coppia chiave-valore per un'etichetta che vuoi aggiungere. La chiave deve essere univoca. Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti i caratteri internazionali.
  • PROJECT_ID: il tuo ID progetto.
  • DATASET: il set di dati che contiene la tabella o la vista che stai etichettando.
  • TABLE_OR_VIEW: il nome della tabella o della vista che stai etichettando.

Esempi:

Per aggiungere un'etichetta di tabella che monitora i reparti, inserisci il comando bq update e specifica department come chiave dell'etichetta. Ad esempio, per aggiungere un'etichetta department:shipping a mytable nel progetto predefinito, inserisci:

    bq update --set_label department:shipping mydataset.mytable

Per aggiungere un'etichetta di visualizzazione che monitora i reparti, inserisci il comando bq update e specifica department come chiave dell'etichetta. Ad esempio, per aggiungere un'etichetta department:shipping a myview nel progetto predefinito, inserisci:

    bq update --set_label department:shipping mydataset.myview

Per aggiungere più etichette a una tabella o a una visualizzazione, ripeti il flag set_label e specifica una chiave univoca per ogni etichetta. Ad esempio, per aggiungere un'etichetta department:shipping e un'etichetta cost_center:logistics a mytable nel tuo progetto predefinito, inserisci:

    bq update \
    --set_label department:shipping \
    --set_label cost_center:logistics \
    mydataset.mytable

API

Per aggiungere un'etichetta a una tabella o una vista esistente, chiama il metodo tables.patch e compila la proprietà labels per la risorsa tabella.

Poiché le viste vengono trattate come risorse di tabella, utilizzi il metodo tables.patch per modificare sia le viste che le tabelle.

Poiché il metodo tables.update sostituisce l'intera risorsa del set di dati, è preferibile il metodo tables.patch.

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"

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

// addTableLabel demonstrates adding Label metadata to a BigQuery table.
func addTableLabel(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: %v", err)
	}
	defer client.Close()

	tbl := client.Dataset(datasetID).Table(tableID)
	meta, err := tbl.Metadata(ctx)
	if err != nil {
		return err
	}

	update := bigquery.TableMetadataToUpdate{}
	update.SetLabel("color", "green")
	if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Questo esempio utilizza la libreria client HTTP di Google per Java per inviare una richiesta all'API BigQuery.

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;
import java.util.HashMap;
import java.util.Map;

// Sample to adds a label to an existing table
public class LabelTable {

  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";
    labelTable(datasetName, tableName);
  }

  public static void labelTable(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));
      // Add label to table
      Map<String, String> labels = new HashMap<>();
      labels.put("color", "green");

      table.toBuilder().setLabels(labels).build().update();
      System.out.println("Label added successfully");
    } catch (BigQueryException e) {
      System.out.println("Label was not added. \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 labelTable() {
  // Adds a label to an existing table.

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

  const dataset = bigquery.dataset(datasetId);
  const [table] = await dataset.table(tableId).get();

  // Retrieve current table metadata
  const [metadata] = await table.getMetadata();

  // Add label to table metadata
  metadata.labels = {color: 'green'};
  const [apiResponse] = await table.setMetadata(metadata);

  console.log(`${tableId} labels:`);
  console.log(apiResponse.labels);
}

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

labels = {"color": "green"}
table.labels = labels

table = client.update_table(table, ["labels"])  # API request

print(f"Added {table.labels} to {table_id}.")

Aggiungere etichette ai job

Le etichette possono essere aggiunte ai job di query tramite la riga di comando utilizzando il flag --label dello strumento a riga di comando bq. Lo strumento bq supporta l'aggiunta di etichette solo ai job di query.

Puoi anche aggiungere un'etichetta a un job quando viene inviato tramite l'API specificando la proprietà labels nella configurazione del job quando chiami il metodo jobs.insert. L'API può essere utilizzata per aggiungere etichette a qualsiasi tipo di job.

Non puoi aggiungere o aggiornare le etichette per i job in attesa, in esecuzione o completati.

Quando aggiungi un'etichetta a un job, questa viene inclusa nei dati di fatturazione.

Ruoli IAM richiesti

Per ottenere l'autorizzazione necessaria per aggiungere un'etichetta a un job, chiedi all'amministratore di concederti il ruolo IAM Utente BigQuery (roles/bigquery.user). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione bigquery.jobs.create necessaria per aggiungere un'etichetta a un job.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

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

Aggiungere un'etichetta a un lavoro

Per aggiungere un'etichetta a un lavoro:

bq

Per aggiungere un'etichetta a un job di query, esegui il comando bq query con il flag --label. Per aggiungere più etichette, ripeti il flag. Il flag indica che la query è nella sintassi GoogleSQL.

bq query --label KEY:VALUE  'QUERY'

Sostituisci quanto segue:

  • KEY:VALUE: una coppia chiave-valore per un'etichetta che vuoi aggiungere al job di query. La chiave deve essere univoca. Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti i caratteri internazionali. Per aggiungere più etichette a un job di query, ripeti il flag --label e specifica una chiave univoca per ogni etichetta.
  • QUERY: una query GoogleSQL valida.

Esempi:

Per aggiungere un'etichetta a un job di query, inserisci:

    bq query \
    --label department:shipping \
     \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

Per aggiungere più etichette a un job di query, ripeti il flag --label e specifica una chiave univoca per ogni etichetta. Ad esempio, per aggiungere un'etichetta department:shipping e un'etichetta cost_center:logistics a un job di query, inserisci:

    bq query \
    --label department:shipping \
    --label cost_center:logistics \
     \
    'SELECT
       column1, column2
     FROM
       `mydataset.mytable`'

API

Per aggiungere un'etichetta a un lavoro, chiama il metodo jobs.insert e compila la proprietà labels per la configurazione del lavoro. Puoi utilizzare l'API per aggiungere etichette a qualsiasi tipo di lavoro.

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

sql = """
    SELECT corpus
    FROM `bigquery-public-data.samples.shakespeare`
    GROUP BY corpus;
"""
labels = {"color": "green"}

config = bigquery.QueryJobConfig()
config.labels = labels
location = "us"
job = client.query(sql, location=location, job_config=config)
job_id = job.job_id

print(f"Added {job.labels} to {job_id}.")

Associare i job in una sessione a un'etichetta

Se esegui query in una sessione, puoi assegnare un'etichetta a tutti i futuri job di query nella sessione utilizzando le query multi-istruzione BigQuery.

SQL

Imposta la variabile di sistema @@query_label nella sessione eseguendo questa query:

  SET @@query_label = "KEY:VALUE";
  

  • KEY:VALUE: una coppia chiave-valore per l'etichetta da assegnare a tutte le query future nella sessione. Puoi anche aggiungere più coppie chiave-valore, separate da una virgola (ad esempio, SET @@query_label = "key1:value1,key2:value2"). La chiave deve essere univoca. Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti i caratteri internazionali.

Esempio:

  SET @@query_label = "cost_center:logistics";
  

API

Per aggiungere un'etichetta a un job di query in una sessione quando esegui una query utilizzando una chiamata API, chiama il metodo jobs.insert e compila la proprietà query_label per la connectionProperties configurazione del job.

Dopo aver associato un'etichetta di query a una sessione ed eseguito query all'interno della sessione, puoi raccogliere i log di controllo per le query con quell'etichetta di query. Per ulteriori informazioni, consulta il Riferimento per il log di controllo di BigQuery.

Aggiungere un'etichetta a una prenotazione

Quando aggiungi un'etichetta a una prenotazione, questa viene inclusa nei dati di fatturazione. Puoi utilizzare le etichette per filtrare lo SKU di attribuzione degli slot di analisi nei dati di fatturazione Cloud.

Per saperne di più sull'utilizzo delle etichette nei dati di fatturazione, consulta Utilizzare i filtri per perfezionare i dati.

Ruoli IAM richiesti

Per ottenere l'autorizzazione necessaria per aggiungere un'etichetta a una prenotazione, chiedi all'amministratore di concederti il ruolo IAM Editor risorse BigQuery (roles/bigquery.resourceEditor) nel progetto di amministrazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione bigquery.reservations.update necessaria per aggiungere un'etichetta a una prenotazione.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Aggiungere un'etichetta a una prenotazione

Per aggiungere un'etichetta a una prenotazione:

SQL

Per aggiungere un'etichetta a una prenotazione, utilizza l'istruzione DDL ALTER RESERVATION SET OPTIONS. L'impostazione delle etichette sovrascrive le etichette esistenti nella prenotazione. L'esempio seguente imposta un'etichetta sulla prenotazione myreservation:

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

    Vai a BigQuery

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

    ALTER RESERVATION myreservation
    SET OPTIONS (
      labels = [('sensitivity', 'high')]);

  3. Fai clic su Esegui.

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

bq

Per aggiungere un'etichetta a una prenotazione, esegui il comando bq update con i flag set_label e --reservation. Per aggiungere più etichette, ripeti il flag set_label.

bq update --set_label KEY:VALUE --location LOCATION --reservation RESERVATION_NAME

Sostituisci quanto segue:

  • KEY:VALUE: una coppia chiave-valore per un'etichetta che vuoi aggiungere alla prenotazione. La chiave deve essere univoca. Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti i caratteri internazionali. Per aggiungere più etichette a una prenotazione, ripeti il flag --set_label e specifica una chiave univoca per ogni etichetta.
  • LOCATION: la posizione della prenotazione. Il flag location non può essere l'ultimo nel comando, altrimenti viene restituito l'errore FATAL Flags positioning.
  • RESERVATION_NAME: il nome della prenotazione.

Aggiungere un'etichetta senza un valore

Un'etichetta con una chiave con un valore vuoto viene a volte chiamata tag. Questo non va confuso con una risorsa tag. Per maggiori informazioni, consulta Etichette e tag. Puoi creare una nuova etichetta senza valore o rimuovere un valore da una chiave di etichetta esistente.

Le etichette senza valori possono essere utili in situazioni in cui etichetti una risorsa, ma non hai bisogno del formato chiave-valore. Ad esempio, se una tabella contiene dati di test utilizzati da più gruppi, come l'assistenza o lo sviluppo, puoi aggiungere un'etichetta test_data alla tabella per identificarla.

Per aggiungere un'etichetta senza un valore:

Console

  1. Nella console Google Cloud , seleziona la risorsa appropriata (un dataset, una tabella o una visualizzazione).

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

    Dettagli della tabella.

  3. Nella pagina dei dettagli, fai clic sull'icona a forma di matita a destra di Etichette.

    Matita per etichette.

  4. Nella finestra di dialogo Modifica etichette:

    • Fai clic su Aggiungi etichetta.
    • Inserisci una nuova chiave e lascia vuoto il valore. Per applicare altre etichette, fai clic su Aggiungi etichetta e ripeti l'operazione.
    • Per salvare le modifiche, fai clic su Aggiorna.

SQL

Per aggiungere un'etichetta senza un valore, utilizza l'istruzione DDL ALTER TABLE SET OPTIONS:

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

    Vai a BigQuery

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

    ALTER TABLE mydataset.mytable
    SET OPTIONS (
      labels=[("key1", ""), ("key2", "")]);

  3. Fai clic su Esegui.

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

bq

Per aggiungere un'etichetta senza un valore a una risorsa esistente, utilizza il comando bq update con il flag set_label. Specifica la chiave, seguita dai due punti, ma lascia il valore non specificato.

bq update --set_label KEY: RESOURCE_ID

Sostituisci quanto segue:

  • KEY:: la chiave dell'etichetta che vuoi utilizzare.
  • RESOURCE_ID: un nome valido per il set di dati, la tabella o la vista. Se la risorsa si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato: PROJECT_ID:DATASET.

Esempi:

Inserisci il comando seguente per creare un'etichetta test_data per mydataset.mytable. mydataset si trova nel tuo progetto predefinito.

bq update --set_label test_data: mydataset

API

Chiama il metodo datasets.patch o il metodo tables.patch e aggiungi etichette con il valore impostato sulla stringa vuota ("") nella risorsa dataset o nella risorsa tabella. Puoi rimuovere i valori dalle etichette esistenti sostituendoli con la stringa vuota.

Poiché le viste vengono trattate come risorse di tabella, utilizzi il metodo tables.patch per modificare sia le viste che le tabelle. Inoltre, poiché il metodo tables.update sostituisce l'intera risorsa del set di dati, è preferibile il metodo tables.patch.

Passaggi successivi