Añadir etiquetas a los recursos

En esta página se explica cómo etiquetar los recursos de BigQuery.

Antes de empezar

Concede roles de gestión de identidades y accesos (IAM) que proporcionen a los usuarios los permisos necesarios para realizar cada tarea de este documento. Los permisos necesarios para realizar una tarea se indican en la sección "Roles de gestión de identidades y accesos necesarios" de la tarea.

Añadir etiquetas a conjuntos de datos

Se puede añadir una etiqueta a un conjunto de datos de BigQuery cuando se crea mediante el comando bq mk de la herramienta de línea de comandos bq o llamando al método de API datasets.insert. No puedes añadir una etiqueta a un conjunto de datos cuando se crea con la consola Google Cloud .

En esta página se explica cómo añadir una etiqueta a un conjunto de datos después de crearlo. Para obtener más información sobre cómo añadir una etiqueta al crear un conjunto de datos, consulta el artículo Crear un conjunto de datos.

Cuando añade una etiqueta a un conjunto de datos, no se propaga a los recursos del conjunto de datos. Las tablas o las vistas no heredan las etiquetas de los conjuntos de datos. Además, cuando añades una etiqueta a un conjunto de datos, se incluye en los datos de facturación del almacenamiento, pero no en los datos de facturación relacionados con los trabajos.

Para obtener más información sobre el formato de una etiqueta, consulta los requisitos de las etiquetas.

Roles de gestión de identidades y accesos necesarios

Para obtener el permiso que necesitas para añadir una etiqueta a un conjunto de datos, pide a tu administrador que te conceda el rol de IAM Editor de datos de BigQuery (roles/bigquery.dataEditor). Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.datasets.update , que es necesario para añadir una etiqueta a un conjunto de datos.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Para obtener más información sobre los roles y permisos de IAM en BigQuery, consulta el artículo sobre funciones y permisos predefinidos.

Añadir una etiqueta a un conjunto de datos

Para añadir una etiqueta a un conjunto de datos después de crearlo, sigue estos pasos:

Consola

  1. En la Google Cloud consola, selecciona el conjunto de datos.

  2. En la página de detalles del conjunto de datos, haz clic en el icono de lápiz situado a la derecha de Etiquetas.

    Etiqueta de lápiz.

  3. En el cuadro de diálogo Editar etiquetas, haz lo siguiente:

    • Haz clic en Añadir etiqueta.
    • Introduzca la clave y el valor. Para aplicar más etiquetas, haz clic en Añadir etiqueta. Cada clave solo se puede usar una vez por conjunto de datos, pero puedes usar la misma clave en diferentes conjuntos de datos del mismo proyecto.
    • Para actualizar una etiqueta, modifica las claves o los valores.
    • Para guardar los cambios, haz clic en Actualizar.

SQL

Usa la declaración de DDL ALTER SCHEMA SET OPTIONS para definir las etiquetas de un conjunto de datos. Al definir etiquetas, se sobrescriben las etiquetas que ya tenga el conjunto de datos. En el siguiente ejemplo se asigna una etiqueta al conjunto de datos mydataset:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

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

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para añadir una etiqueta a un conjunto de datos, usa el comando bq update con la marca set_label. Repite el proceso para añadir varias etiquetas.

Si el conjunto de datos está en un proyecto que no es el predeterminado, añada el ID del proyecto al conjunto de datos con el siguiente formato: PROJECT_ID:DATASET.

bq update --set_label KEY:VALUE PROJECT_ID:DATASET

Haz los cambios siguientes:

  • KEY:VALUE: un par clave-valor de una etiqueta que quieras añadir. La clave debe ser única. Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones y guiones bajos. Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • PROJECT_ID: tu ID de proyecto.
  • DATASET: el conjunto de datos que estás etiquetando.

Ejemplos:

Para añadir una etiqueta con la que monitorizar los departamentos, introduce el comando bq update y especifica department como clave de la etiqueta. Por ejemplo, para añadir una etiqueta department:shipping a mydataset en tu proyecto predeterminado, introduce lo siguiente:

    bq update --set_label department:shipping mydataset

Para añadir varias etiquetas a un conjunto de datos, repite la marca set_label y especifica una clave única para cada etiqueta.Por ejemplo, para añadir las etiquetas department:shipping y cost_center:logistics a mydataset en tu proyecto predeterminado, introduce lo siguiente:

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

API

Para añadir una etiqueta a un conjunto de datos, llama al método datasets.patch y rellena la propiedad labels del recurso de conjunto de datos.

Como el método datasets.update sustituye todo el recurso del conjunto de datos, es preferible usar el método datasets.patch.

Go

Antes de probar este ejemplo, sigue las Goinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

En este ejemplo se usa la biblioteca de cliente HTTP de Google para Java para enviar una solicitud a la API de BigQuery.

Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Antes de probar este ejemplo, sigue las Node.jsinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Antes de probar este ejemplo, sigue las Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Añadir etiquetas a tablas y vistas

En esta página se explica cómo añadir una etiqueta a una tabla o una vista. Para obtener más información sobre cómo añadir una etiqueta al crear una tabla o una vista, consulta los artículos Crear una tabla o Crear una vista.

Como las vistas se tratan como recursos de tabla, puedes usar el método tables.patch para modificar tanto las vistas como las tablas.

Roles de gestión de identidades y accesos necesarios

Para obtener los permisos que necesitas para añadir una etiqueta a una tabla o vista, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de datos de BigQuery (roles/bigquery.dataEditor). Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para añadir una etiqueta a una tabla o vista. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para añadir una etiqueta a una tabla o vista, se necesitan los siguientes permisos:

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

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Para obtener más información sobre los roles y permisos de IAM en BigQuery, consulta el artículo sobre funciones y permisos predefinidos.

Añadir una etiqueta a una tabla o una vista

Para añadir una etiqueta a una tabla o una vista, sigue estos pasos:

Consola

  1. En la Google Cloud consola, selecciona la tabla o la vista.

  2. Haga clic en la pestaña Detalles.

    Detalles de la tabla.

  3. Haz clic en el icono de lápiz situado a la derecha de Etiquetas.

    Etiqueta de lápiz.

  4. En el cuadro de diálogo Editar etiquetas, haz lo siguiente:

    • Haz clic en Añadir etiqueta.
    • Introduce la clave y el valor para añadir una etiqueta. Para aplicar más etiquetas, haz clic en Añadir etiqueta. Las claves solo se pueden utilizar una vez por conjunto de datos, pero puedes usar la misma clave en diferentes conjuntos de datos del mismo proyecto.
    • Modifica las claves o los valores para actualizar una etiqueta.
    • Haz clic en Update (Actualizar) para guardar los cambios.

SQL

Usa la declaración de DDL ALTER TABLE SET OPTIONS para definir las etiquetas de una tabla que ya tengas o la declaración de DDL ALTER VIEW SET OPTIONS para definir las etiquetas de una vista que ya tengas. Al definir etiquetas, se sobrescriben las etiquetas que ya haya en la tabla o en la vista. En el siguiente ejemplo se definen dos etiquetas en la tabla mytable:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

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

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para añadir una etiqueta a una tabla o vista, usa el comando bq update con la marca set_label. Para añadir varias etiquetas, repite la marca.

Si la tabla o la vista están en un proyecto que no es el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato: project_id:dataset.

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

Haz los cambios siguientes:

  • KEY:VALUE: un par clave-valor de una etiqueta que quieras añadir. La clave debe ser única. Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones y guiones bajos. Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • PROJECT_ID: tu ID de proyecto.
  • DATASET: el conjunto de datos que contiene la tabla o la vista que quieres etiquetar.
  • TABLE_OR_VIEW: el nombre de la tabla o la vista que quieres etiquetar.

Ejemplos:

Para añadir una etiqueta de tabla que haga un seguimiento de los departamentos, introduce el comando bq update y especifica department como clave de etiqueta. Por ejemplo, para añadir una etiqueta department:shipping a mytable en tu proyecto predeterminado, introduce lo siguiente:

    bq update --set_label department:shipping mydataset.mytable

Para añadir una etiqueta de vista que monitorice los departamentos, introduce el comando bq update y especifica department como clave de etiqueta. Por ejemplo, para añadir una etiqueta department:shipping a myview en tu proyecto predeterminado, introduce lo siguiente:

    bq update --set_label department:shipping mydataset.myview

Para añadir varias etiquetas a una tabla o una vista, repite la marca set_label y especifica una clave única para cada etiqueta. Por ejemplo, para añadir las etiquetas department:shipping y cost_center:logistics a mytable en tu proyecto predeterminado, introduce lo siguiente:

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

API

Para añadir una etiqueta a una tabla o una vista, llama al método tables.patch y rellena la propiedad labels del recurso de tabla.

Como las vistas se tratan como recursos de tabla, puedes usar el método tables.patch para modificar tanto las vistas como las tablas.

Como el método tables.update sustituye todo el recurso del conjunto de datos, es preferible usar el método tables.patch.

Go

Antes de probar este ejemplo, sigue las Goinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

En este ejemplo se usa la biblioteca de cliente HTTP de Google para Java para enviar una solicitud a la API de BigQuery.

Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Antes de probar este ejemplo, sigue las Node.jsinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Antes de probar este ejemplo, sigue las Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Añadir etiquetas a los trabajos

Las etiquetas se pueden añadir a los trabajos de consulta a través de la línea de comandos mediante la marca --label de la herramienta de línea de comandos bq. La herramienta bq solo permite añadir etiquetas a los trabajos de consulta.

También puedes añadir una etiqueta a un trabajo cuando se envía a través de la API especificando la propiedad labels en la configuración del trabajo al llamar al método jobs.insert. La API se puede usar para añadir etiquetas a cualquier tipo de trabajo.

No puedes añadir ni actualizar etiquetas en trabajos pendientes, en curso o completados.

Cuando añades una etiqueta a un trabajo, esta se incluye en tus datos de facturación.

Roles de gestión de identidades y accesos necesarios

Para obtener el permiso que necesitas para añadir una etiqueta a un trabajo, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Usuario de BigQuery (roles/bigquery.user). Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.jobs.create, que es necesario para añadir una etiqueta a un trabajo.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Para obtener más información sobre los roles y permisos de IAM en BigQuery, consulta el artículo sobre funciones y permisos predefinidos.

Añadir una etiqueta a un trabajo

Para añadir una etiqueta a un trabajo, sigue estos pasos:

bq

Para añadir una etiqueta a un trabajo de consulta, ejecuta el comando bq query con la marca --label. Para añadir varias etiquetas, repite la marca. La marca indica que tu consulta está en sintaxis de GoogleSQL.

bq query --label KEY:VALUE  'QUERY'

Haz los cambios siguientes:

  • KEY:VALUE: un par clave-valor de una etiqueta que quieras añadir al trabajo de consulta. La clave debe ser única. Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones y guiones bajos. Todos los caracteres deben usar la codificación UTF-8 y se pueden usar caracteres internacionales. Para añadir varias etiquetas a un trabajo de consulta, repite la marca --label y especifica una clave única para cada etiqueta.
  • QUERY: una consulta de GoogleSQL válida.

Ejemplos:

Para añadir una etiqueta a un trabajo de consulta, introduce lo siguiente:

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

Para añadir varias etiquetas a una tarea de consulta, repite la marca --label y especifica una clave única para cada etiqueta. Por ejemplo, para añadir las etiquetas department:shipping y cost_center:logistics a un trabajo de consulta, introduce lo siguiente:

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

API

Para añadir una etiqueta a un empleo, llama al método jobs.insert y rellena la propiedad labels de la configuración del empleo. Puedes usar la API para añadir etiquetas a cualquier tipo de trabajo.

Python

Antes de probar este ejemplo, sigue las Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Asociar trabajos de una sesión a una etiqueta

Si ejecutas consultas en una sesión, puedes asignar una etiqueta a todos los trabajos de consulta futuros de la sesión mediante consultas de varias instrucciones de BigQuery.

SQL

Define la variable del sistema @@query_label en la sesión ejecutando esta consulta:

  SET @@query_label = "KEY:VALUE";
  

  • KEY:VALUE: un par clave-valor de la etiqueta que se asignará a todas las consultas futuras de la sesión. También puede añadir varios pares clave-valor separados por una coma (por ejemplo, SET @@query_label = "key1:value1,key2:value2"). La clave debe ser única. Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y se permite utilizar caracteres internacionales.

Ejemplo:

  SET @@query_label = "cost_center:logistics";
  

API

Para añadir una etiqueta a una tarea de consulta en una sesión cuando ejecutas una consulta mediante una llamada a la API, llama al método jobs.insert y rellena la propiedad query_label de la connectionProperties configuración de la tarea.

Una vez que hayas asociado una etiqueta de consulta a una sesión y hayas ejecutado consultas en ella, podrás recoger registros de auditoría de las consultas con esa etiqueta. Para obtener más información, consulta la referencia de los registros de auditoría de BigQuery.

Añadir una etiqueta a una reserva

Cuando añades una etiqueta a una reserva, se incluye en tus datos de facturación. Puede usar las etiquetas para filtrar el SKU de atribución de espacios de análisis en sus datos de Facturación de Cloud.

Para obtener más información sobre cómo usar etiquetas en los datos de facturación, consulta el artículo Usar filtros para acotar los datos.

Roles de gestión de identidades y accesos necesarios

Para obtener el permiso que necesitas para añadir una etiqueta a una reserva, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de recursos de BigQuery (roles/bigquery.resourceEditor) en el proyecto de administración. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.reservations.update, que es necesario para añadir una etiqueta a una reserva.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Añadir una etiqueta a una reserva

Para añadir una etiqueta a una reserva, sigue estos pasos:

SQL

Para añadir una etiqueta a una reserva, utiliza la ALTER RESERVATION SET OPTIONS declaración de DDL. Al definir etiquetas, se sobrescriben las etiquetas que ya tenga la reserva. En el siguiente ejemplo se asigna una etiqueta a la reserva myreservation:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

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

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para añadir una etiqueta a una reserva, ejecuta el comando bq update con las marcas set_label y --reservation. Para añadir varias etiquetas, repite la marca set_label.

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

Haz los cambios siguientes:

  • KEY:VALUE: un par clave-valor de una etiqueta que quieras añadir a la reserva. La clave debe ser única. Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones y guiones bajos. Todos los caracteres deben usar la codificación UTF-8 y se pueden usar caracteres internacionales. Para añadir varias etiquetas a una reserva, repite la marca --set_label y especifica una clave única para cada etiqueta.
  • LOCATION: la ubicación de la reserva. La marca location no puede ser la última del comando, ya que, de lo contrario, se devolverá el error FATAL Flags positioning.
  • RESERVATION_NAME: el nombre de la reserva.

Añadir una etiqueta sin valor

Una etiqueta que tiene una clave con un valor vacío a veces se denomina "etiqueta". No debe confundirse con un recurso de etiqueta. Para obtener más información, consulta Etiquetas. Puede crear una etiqueta sin valor o quitar un valor de una clave de etiqueta que ya tenga.

Las etiquetas sin valores pueden ser útiles en situaciones en las que se etiqueta un recurso, pero no se necesita el formato clave-valor. Por ejemplo, si una tabla contiene datos de prueba que utilizan varios grupos, como el de asistencia o el de desarrollo, puedes añadirle una etiqueta test_data para identificarla.

Para añadir una etiqueta sin valor, sigue estos pasos:

Consola

  1. En la Google Cloud consola, selecciona el recurso adecuado (un conjunto de datos, una tabla o una vista).

  2. En el caso de los conjuntos de datos, se abre automáticamente la página de detalles del conjunto de datos. En el caso de las tablas y las vistas, haz clic en Detalles para abrir la página de detalles.

    Detalles de la tabla.

  3. En la página de detalles, haz clic en el icono de lápiz situado a la derecha de Etiquetas.

    Etiqueta de lápiz.

  4. En el cuadro de diálogo Editar etiquetas, haz lo siguiente:

    • Haz clic en Añadir etiqueta.
    • Introduce una clave nueva y deja el valor en blanco. Para aplicar más etiquetas, haz clic en Añadir etiqueta y repite el proceso.
    • Para guardar los cambios, haz clic en Actualizar.

SQL

Para añadir una etiqueta sin valor, usa la ALTER TABLE SET OPTIONSdeclaración de DDL:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

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

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para añadir una etiqueta sin valor a un recurso, usa el comando bq update con la marca set_label. Especifique la clave, seguida de dos puntos, pero deje el valor sin especificar.

bq update --set_label KEY: RESOURCE_ID

Haz los cambios siguientes:

  • KEY:: la clave de la etiqueta que quieras usar.
  • RESOURCE_ID: un nombre de conjunto de datos, tabla o vista válido. Si el recurso está en un proyecto que no es el predeterminado, añade el ID del proyecto con el siguiente formato: PROJECT_ID:DATASET.

Ejemplos:

Introduce el siguiente comando para crear una etiqueta test_data para mydataset.mytable. mydataset está en tu proyecto predeterminado.

bq update --set_label test_data: mydataset

API

Llama al método datasets.patch o al método tables.patch y añade etiquetas con el valor definido como cadena vacía ("") en el recurso de conjunto de datos o en el recurso de tabla. Para quitar valores de etiquetas, sustitúyalos por una cadena vacía.

Como las vistas se tratan como recursos de tabla, puedes usar el método tables.patch para modificar tanto las vistas como las tablas. Además, como el método tables.update sustituye todo el recurso del conjunto de datos, es preferible usar el método tables.patch.

Siguientes pasos