Agrega etiquetas a los recursos

Esta página explica cómo etiquetar los recursos de BigQuery.

Antes de comenzar

Otorga roles de administración de identidades y accesos (IAM) que les brindan a los usuarios los permisos necesarios para realizar cada tarea de este documento. Todos los permisos necesarios para realizar una tarea se enumeran en la sección “Roles de IAM obligatorios” de la tarea.

Agrega etiquetas a los conjuntos de datos

Una etiqueta se puede agregar a un conjunto de datos de BigQuery cuando se crea mediante el comando bq mk de la herramienta de línea de comandos de bq o mediante una llamada al método datasets.insert de la API. En la actualidad, no puedes agregar una etiqueta a un conjunto de datos cuando este se crea con la consola de Google Cloud.

Esta página explica cómo agregar una etiqueta a un conjunto de datos después de crearla. Para obtener más información sobre cómo agregar una etiqueta cuando creas un conjunto de datos, consulta Crea un conjunto de datos.

Se puede agregar una etiqueta después de la creación de un conjunto de datos de las formas siguientes:

  • Usa la consola de Google Cloud
  • Usar declaraciones DDL de SQL
  • Usa el comando bq update de la herramienta de línea de comandos de bq.
  • Llamar al método de la API datasets.patch
  • Usar bibliotecas cliente

Cuando agregas una etiqueta a un conjunto de datos, no se propaga a los recursos dentro de este. Las tablas ni las vistas heredan las etiquetas del conjunto de datos. Además, cuando agregas una etiqueta a un conjunto de datos, se incluye en tus datos de facturación de almacenamiento, pero no en tus datos de facturación relacionados con el trabajo.

Para obtener más detalles sobre el formato de una etiqueta, consulta Requisitos de las etiquetas.

Roles de IAM obligatorios

Para obtener el permiso que necesitas para agregar una etiqueta a un conjunto de datos existente, pídele a tu administrador que te otorgue el rol de IAM Editor de datos de BigQuery (roles/bigquery.dataEditor). Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.datasets.update, que se requiere para agregar una etiqueta a un conjunto de datos existente.

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

Para obtener más información sobre los roles y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Agrega una etiqueta a un conjunto de datos

Sigue estos pasos para agregar una etiqueta a un conjunto de datos después de crearla:

Console

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

  2. En la página de detalles del conjunto de datos, haz clic en el ícono de lápiz a la derecha de Labels (Etiquetas).

    Lápiz de etiqueta.

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

    • Haz clic en Agregar etiqueta.
    • Ingresa la clave y el valor. Para aplicar etiquetas adicionales, haz clic en Agregar etiqueta (Add label). Se puede usar cada clave solo una vez por conjunto de datos, pero puedes usar la misma clave en otros conjuntos de datos del mismo proyecto.
    • Para actualizar una etiqueta, modifica las claves o valores existentes.
    • Para guardar los cambios, haz clic en Update (Actualizar).

SQL

Usa la declaración DDL ALTER SCHEMA SET OPTIONS para configurar las etiquetas en un conjunto de datos existente. La configuración de etiquetas reemplaza cualquier etiqueta existente en el conjunto de datos. En el siguiente ejemplo, se establece una etiqueta en el conjunto de datos mydataset:

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

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente sentencia:

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

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Para agregar una etiqueta a un conjunto de datos existente, envía el comando bq update con la marca set_label. Repite la marca para agregar varias etiquetas.

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

bq update --set_label KEY:VALUE PROJECT_ID:DATASET

Reemplaza lo siguiente:

  • KEY:VALUE: Es un par clave-valor para una etiqueta que deseas agregar. La clave debe ser exclusiva. Las claves y los valores pueden contener solo letras en minúscula, caracteres numéricos, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • PROJECT_ID: el ID de tu proyecto
  • DATASET: Es el conjunto de datos que deseas etiquetar.

Ejemplos:

Si deseas agregar una etiqueta para realizar un seguimiento de los departamentos, ingresa el comando bq update y especifica department como la clave de la etiqueta. Por ejemplo, para agregar una etiqueta department:shipping a mydataset en tu proyecto predeterminado, ingresa lo siguiente:

    bq update --set_label department:shipping mydataset

Si deseas agregar varias etiquetas a un conjunto de datos, repite la marca set_label y especifica una clave única para cada etiqueta. Por ejemplo, a fin de agregar una etiqueta department:shipping y una etiqueta cost_center:logistics a mydataset en tu proyecto predeterminado, ingresa lo siguiente:

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

API

Para agregar una etiqueta a un conjunto de datos existente, llama al método datasets.patch y propaga la propiedad labels para el recurso de conjunto de datos.

Debido a que, con el método datasets.update se reemplaza todo el recurso del conjunto de datos, es preferible usar el método datasets.patch.

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 cliente HTTP de Google para Java a fin de enviar una solicitud a la API de BigQuery.

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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))

Agrega etiquetas a las tablas y vistas

Se puede agregar una etiqueta a una tabla o vista cuando se crea mediante alguna de estas acciones:

  • Usar el comando bq mk de la herramienta de línea de comandos de bq
  • Llamar al método de la API tables.insert

Esta página explica cómo agregar una etiqueta a una tabla o vista existente. Para obtener más información sobre cómo agregar una etiqueta cuando creas una tabla o vista, consulta cómo crear una tabla o crear una vista.

Se puede agregar una etiqueta cuando se crea una tabla o vista mediante estas acciones:

  • Usa la consola de Google Cloud
  • Usa el comando bq update de la herramienta de línea de comandos de bq
  • Llamar al método de la API tables.patch
  • Usar bibliotecas cliente

Debido a que las vistas se tratan como recursos de tabla, debes usar el método tables.patch para modificar las vistas y las tablas.

Roles de IAM obligatorios

Para obtener los permisos que necesitas para agregar una etiqueta a una tabla o vista existente, pídele a tu administrador que te otorgue el rol de IAM Editor de datos de BigQuery (roles/bigquery.dataEditor). Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para agregar una etiqueta a una tabla o vista existente. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para agregar una etiqueta a una tabla o vista existente:

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

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

Para obtener más información sobre los roles y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Agrega una etiqueta a una tabla o vista

Sigue estos pasos para agregar una etiqueta a una tabla o vista existente:

Console

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

  2. Haz clic en la pestaña Detalles.

    Detalles de la tabla.

  3. Haz clic en el ícono de lápiz a la derecha de Etiquetas (Labels).

    Lápiz de etiqueta.

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

    • Haz clic en Agregar etiqueta (Add label).
    • Ingresa la clave y el valor para agregar una etiqueta. Para aplicar etiquetas adicionales, haz clic en Agregar etiqueta (Add label). Se puede usar cada clave solo una vez por conjunto de datos, pero puedes usar la misma clave en otros conjuntos de datos del mismo proyecto.
    • Modifica las claves o valores existentes para actualizar una etiqueta.
    • Haz clic en Actualizar para guardar los cambios.

SQL

Usa la declaración DDL ALTER TABLE SET OPTIONS para configurar las etiquetas en una tabla existente o la declaración DDL ALTER VIEW SET OPTIONS para configurar las etiquetas en una vista existente. Si configuras etiquetas, se reemplazan las etiquetas existentes en la tabla o vista. En el siguiente ejemplo, se establecen dos etiquetas en la tabla mytable:

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

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente sentencia:

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

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Para agregar una etiqueta a una tabla o vista existente, envía el comando bq update con la marca set_label. Para agregar varias etiquetas, repite la marca.

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

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

Reemplaza lo siguiente:

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

Ejemplos:

Para agregar una etiqueta de tabla que rastrea los departamentos, ingresa el comando bq update y especifica department como la clave de etiqueta. Por ejemplo, para agregar una etiqueta department:shipping a mytable en tu proyecto predeterminado, ingresa lo siguiente:

    bq update --set_label department:shipping mydataset.mytable

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

    bq update --set_label department:shipping mydataset.myview

Para agregar varias etiquetas a una tabla o vista, repite la marca set_label y especifica una clave exclusiva para cada etiqueta. Por ejemplo, para agregar una etiqueta department:shipping y cost_center:logistics a mytable en tu proyecto predeterminado, ingresa lo siguiente:

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

API

Para agregar una etiqueta a una tabla o vista existente, llama al método tables.patch y propaga la propiedad labels para el recurso de tabla.

Debido a que las vistas se tratan como recursos de tabla, debes usar el método tables.patch para modificar las vistas y las tablas.

Debido a que, con el método tables.update se reemplaza todo el recurso del conjunto de datos, es preferible usar el método tables.patch.

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 cliente HTTP de Google para Java a fin de enviar una solicitud a la API de BigQuery.

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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}.")

Agrega etiquetas a los trabajos

Se pueden agregar etiquetas a los trabajos de consulta con la marca --label en la herramienta de línea de comandos de bq. La herramienta bq admite que se agreguen etiquetas solo a trabajos de consulta.

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

No puedes agregar ni actualizar etiquetas en trabajos pendientes, en ejecución o completados.

Cuando agregas una etiqueta a un trabajo, la etiqueta se incluye en tus datos de facturación.

Roles de IAM obligatorios

Para obtener el permiso que necesitas para agregar una etiqueta a un trabajo, pídele a tu administrador que te otorgue el rol de IAM Usuario de BigQuery (roles/bigquery.user). Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.jobs.create, que se requiere para agregar una etiqueta a un trabajo.

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

Para obtener más información sobre los roles y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Agrega una etiqueta a un trabajo

Para agregar una etiqueta a un trabajo, considera lo siguiente:

bq

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

bq query --label KEY:VALUE --nouse_legacy_sql 'QUERY'

Reemplaza lo siguiente:

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

Ejemplos:

Para agregar una etiqueta a un trabajo de consulta, ingresa lo siguiente:

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

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

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

API

Si deseas agregar una etiqueta a un trabajo, llama al método jobs.insert y propaga la propiedad labels para la configuración del trabajo. Puedes usar la API para agregar etiquetas a cualquier tipo de trabajo.

Asocia trabajos en una sesión con una etiqueta

Si ejecutas consultas en una sesión, puedes asignar una etiqueta para todos los trabajos de consulta futuros en la sesión con las consultas de varias declaraciones de BigQuery.

SQL

Configura la variable de sistema @@query_label en la sesión mediante la ejecución de esta consulta:

  SET @@query_label = "KEY:VALUE";
  

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

Ejemplo:

  SET @@query_label = "cost_center:logistics";
  

API

Para agregar una etiqueta a un trabajo de consulta en una sesión cuando ejecutas una consulta mediante una llamada a la API, llama al método jobs.insert y propaga la propiedad query_label de la configuración del trabajo connectionProperties.

Después de asociar una etiqueta de consulta con una sesión y ejecutar consultas dentro de la sesión, puedes recopilar registros de auditoría para las consultas con esa etiqueta de consulta. Si deseas obtener más información, consulta la referencia del registro de auditoría para BigQuery.

Agrega una etiqueta sin un valor

Una etiqueta que tiene una clave con un valor vacío a veces se denomina rótulo identificador. No se debe confundir con un recurso de etiqueta. Para obtener más información, consulta Etiquetas y rótulos identificadores. Puedes crear una etiqueta nueva sin valor o quitar un valor de una clave de etiqueta existente.

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

Para agregar una etiqueta sin valor, haz lo siguiente:

Console

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

  2. Para los conjuntos de datos, la página Detalles de conjuntos de datos (Dataset Details) se abre de forma automática. Para las tablas y vistas, haz clic en Detalles a fin de abrir la página de detalles.

    Detalles de la tabla.

  3. En la página de detalles, haz clic en el ícono de lápiz a la derecha de Labels (Etiquetas).

    Lápiz de etiqueta.

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

    • Haz clic en Agregar etiqueta (Add label).
    • Ingresa una clave nueva y deja el valor en blanco. Para aplicar etiquetas adicionales, haz clic en Agregar etiqueta y repite el proceso.
    • Para guardar los cambios, haz clic en Update (Actualizar).

SQL

Para agregar una etiqueta sin un valor, usa la sentencia DDL ALTER TABLE SET OPTIONS:

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

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente sentencia:

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

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Para agregar una etiqueta sin un valor a un recurso existente, usa el comando bq update con la marca set_label. Especifica la clave, seguida de dos puntos, pero no especifiques el valor.

bq update --set_label KEY: RESOURCE_ID

Reemplaza lo siguiente:

  • KEY:: Es la clave de etiqueta que deseas usar.
  • RESOURCE_ID: Es un nombre de conjunto de datos, tabla o vista válido. Si el recurso está en un proyecto que no es el predeterminado, debes agregar el ID del proyecto al comando con el formato siguiente: PROJECT_ID:DATASET.

Ejemplos:

Ingresa el siguiente comando a fin de 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 tables.patch y agrega etiquetas con el valor de string vacía ("") en el recurso de conjunto de datos o el recurso de tabla. Puedes quitar los valores de las etiquetas existentes si reemplazas sus valores por la string vacía.

Debido a que las vistas se tratan como recursos de tabla, debes usar el método tables.patch para modificar las vistas y las tablas. Además, debido a que con el método tables.update se reemplaza todo el recurso del conjunto de datos, es preferible usar el método tables.patch.

¿Qué sigue?