Agrega etiquetas a los recursos

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

Agrega etiquetas de conjunto de datos

Una etiqueta se puede agregar a un conjunto de datos de BigQuery cuando se crea mediante el comando bq de la herramienta de línea de comandos de bq mk 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 se crea a través de Cloud Console o la IU web clásica de BigQuery.

En esta página, se 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:

  • Con Cloud Console o la IU web clásica de BigQuery
  • Mediante el comando bq update de la herramienta de línea de comandos de bq
  • Con una llamada al método datasets.patch de la API
  • 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, una etiqueta se incluye en tus datos de facturación de almacenamiento cuando la agregas a un conjunto de datos, pero no verás etiquetas de conjuntos de datos en los datos de facturación relacionados con el trabajo.

Permisos necesarios

Como mínimo, para poder agregar una etiqueta a un conjunto de datos existente, debes tener permisos bigquery.datasets.update. Las siguientes funciones predefinidas de IAM incluyen los permisos bigquery.datasets.update:

  • bigquery.dataOwner
  • bigquery.admin

Además, si un usuario tiene permisos bigquery.datasets.create, se le otorga el acceso bigquery.dataOwner cuando crea un conjunto de datos. El acceso bigquery.dataOwner le da al usuario la capacidad de agregar etiquetas a sus conjuntos de datos.

Para obtener más información sobre las funciones 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 Cloud Console, 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 Etiquetas (Labels).

    Lápiz de etiqueta.

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

IU clásica

  1. Selecciona el conjunto de datos en la IU web de BigQuery.

  2. En la página Dataset Details, a la derecha de Etiquetas (Labels), haz clic en Editar (Edit).

    Editar etiquetas.

  3. En el diálogo Editar etiquetas (Edit Labels), haz lo siguiente:

    • 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 Aceptar (OK).

      Etiqueta nueva.

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 única.
  • PROJECT_ID: Es 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 que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

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 que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new JacksonFactory();

public static class Dataset {
  @Key private Map<String, String> labels;

  public Map<String, String> getLabels() {
    return this.labels;
  }

  public Dataset addLabel(String key, String value) {
    if (this.labels == null) {
      this.labels = new HashMap<>();
    }
    this.labels.put(key, value);
    return this;
  }
}

/**
 * Add or modify a label on a dataset.
 *
 * <p>See <a href="https://cloud.google.com/bigquery/docs/labeling-datasets">the BigQuery
 * documentation</a>.
 */
public static void labelDataset(
    String projectId, String datasetId, String labelKey, String labelValue) throws IOException {

  // Authenticate requests using Google Application Default credentials.
  GoogleCredential credential = GoogleCredential.getApplicationDefault();
  credential = credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/bigquery"));

  // Get a new access token.
  // Note that access tokens have an expiration. You can reuse a token rather than requesting a
  // new one if it is not yet expired.
  credential.refreshToken();
  String accessToken = credential.getAccessToken();

  // Set the content of the request.
  Dataset dataset = new Dataset();
  dataset.addLabel(labelKey, labelValue);
  HttpContent content = new JsonHttpContent(JSON_FACTORY, dataset);

  // Send the request to the BigQuery API.
  String urlFormat =
      "https://www.googleapis.com/bigquery/v2/projects/%s/datasets/%s"
          + "?fields=labels&access_token=%s";
  GenericUrl url = new GenericUrl(String.format(urlFormat, projectId, datasetId, accessToken));
  HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory();
  HttpRequest request = requestFactory.buildPostRequest(url, content);
  request.setParser(JSON_FACTORY.createJsonObjectParser());

  // Workaround for transports which do not support PATCH requests.
  // See: http://stackoverflow.com/a/32503192/101923
  request.setHeaders(new HttpHeaders().set("X-HTTP-Method-Override", "PATCH"));
  HttpResponse response = request.execute();

  // Check for errors.
  if (response.getStatusCode() != 200) {
    throw new RuntimeException(response.getStatusMessage());
  }

  Dataset responseDataset = response.parseAs(Dataset.class);
  System.out.printf(
      "Updated label \"%s\" with value \"%s\"\n",
      labelKey, responseDataset.getLabels().get(labelKey));
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

// 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 esta muestra, 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. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.


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 de tabla y vista

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

  • Mediante 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 alguna de estas acciones:

  • Con Cloud Console o la IU web clásica de BigQuery
  • Mediante el comando bq update de la herramienta de línea de comandos de bq
  • Con una llamada al método tables.patch de la API
  • 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.

Permisos necesarios

Como mínimo, para agregar una etiqueta a una tabla o vista existente, debes tener los permisos bigquery.tables.update y bigquery.tables.get. Las siguientes funciones predefinidas de IAM incluyen los permisos bigquery.tables.update y bigquery.tables.get:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Además, si un usuario tiene permisos bigquery.datasets.create, se le otorga el acceso bigquery.dataOwner cuando crea un conjunto de datos. El acceso de bigquery.dataOwner le da al usuario la capacidad de agregar etiquetas a las tablas y vistas de sus conjuntos de datos.

Para obtener más información sobre las funciones 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 Cloud Console, selecciona la tabla o vista.

  2. Haz clic en la pestaña Detalles (Details).

    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 (Update) para guardar los cambios.

DDL

Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar.

Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.

Para agregar una etiqueta mediante una instrucción DDL en Cloud Console, sigue estos pasos:

  1. Haz clic en Redactar consulta nueva.

  2. Escribe tu declaración de DDL en el área de texto Editor de consultas.

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

  3. Haz clic en Ejecutar consulta.

IU clásica

  1. En la IU web de BigQuery, selecciona la tabla o vista.

  2. En la página de detalles, a la derecha de Etiquetas (Labels), haz clic en Editar (Edit). En este ejemplo, se muestran los detalles de una tabla.

    Editar etiquetas.

  3. En el diálogo Editar etiquetas (Edit Labels), haz lo siguiente:

    • 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 tabla o vista, pero puedes usar la misma clave en tablas o vistas de otros conjuntos de datos.
    • Haz clic en Aceptar (OK).

      Etiqueta nueva.

bq

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

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 única.
  • PROJECT_ID: Es 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 que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

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 que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

public static class Table {
  @Key private Map<String, String> labels;

  public Map<String, String> getLabels() {
    return this.labels;
  }

  public Table addLabel(String key, String value) {
    if (this.labels == null) {
      this.labels = new HashMap<>();
    }
    this.labels.put(key, value);
    return this;
  }
}

/**
 * Add or modify a label on a table.
 *
 * <p>See <a href="https://cloud.google.com/bigquery/docs/labeling-datasets">the BigQuery
 * documentation</a>.
 */
public static void labelTable(
    String projectId,
    String datasetId,
    String tableId,
    String labelKey,
    String labelValue)
    throws IOException {

  // Authenticate requests using Google Application Default credentials.
  GoogleCredential credential = GoogleCredential.getApplicationDefault();
  credential = credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/bigquery"));

  // Get a new access token.
  // Note that access tokens have an expiration. You can reuse a token rather than requesting a
  // new one if it is not yet expired.
  credential.refreshToken();
  String accessToken = credential.getAccessToken();

  // Set the content of the request.
  Table table = new Table();
  table.addLabel(labelKey, labelValue);
  HttpContent content = new JsonHttpContent(JSON_FACTORY, table);

  // Send the request to the BigQuery API.
  String urlFormat =
      "https://www.googleapis.com/bigquery/v2/projects/%s/datasets/%s/tables/%s"
          + "?fields=labels&access_token=%s";
  GenericUrl url =
      new GenericUrl(String.format(urlFormat, projectId, datasetId, tableId, accessToken));
  HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory();
  HttpRequest request = requestFactory.buildPostRequest(url, content);
  request.setParser(JSON_FACTORY.createJsonObjectParser());

  // Workaround for transports which do not support PATCH requests.
  // See: http://stackoverflow.com/a/32503192/101923
  request.setHeaders(new HttpHeaders().set("X-HTTP-Method-Override", "PATCH"));
  HttpResponse response = request.execute();

  // Check for errors.
  if (response.getStatusCode() != 200) {
    throw new RuntimeException(response.getStatusMessage());
  }

  Table responseTable = response.parseAs(Table.class);
  System.out.printf(
      "Updated label \"%s\" with value \"%s\"\n",
      labelKey, responseTable.getLabels().get(labelKey));
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

// 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 esta muestra, 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. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

# from google.cloud import bigquery
# client = bigquery.Client()
# project = client.project
# dataset_ref = bigquery.DatasetReference(project, dataset_id)
# table_ref = dataset_ref.table('my_table')
# table = client.get_table(table_ref)  # API request

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

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

assert table.labels == labels

Agrega etiquetas de trabajo

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.

Permisos necesarios

No se requieren permisos especiales para agregar una etiqueta a un trabajo. Si tienes permisos de bigquery.jobs.create, puedes agregar una etiqueta a tu trabajo cuando lo envíes.

Para ejecutar un trabajo, debes tener permisos bigquery.jobs.create. Los permisos bigquery.jobs.create son obligatorios para los trabajos que BigQuery crea de forma automática y los trabajos que ejecutas de manera programática.

Las siguientes funciones predefinidas de IAM incluyen los permisos bigquery.jobs.create:

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

Para obtener más información sobre las funciones 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, ten en cuenta la información siguiente:

Console

Cloud Console no admite el uso de etiquetas en los trabajos.

IU clásica

La IU web clásica de BigQuery no admite que se agreguen etiquetas a los trabajos.

bq

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

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 única. 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 SQL estándar 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.

Agrega un rótulo identificador

Una etiqueta que tiene una clave con un valor vacío se usa como un rótulo identificador. Puedes crear una etiqueta nueva sin valor o convertir una que ya exista en una etiqueta.

Los rótulos identificadores pueden ser útiles en situaciones en las que etiquetes un recurso, pero que no sea necesario el formato clave-valor. Por ejemplo, si tienes una tabla que contiene datos de prueba que usan varios grupos (asistencia, desarrollo, etc.), puedes agregar un rótulo identificador test_data a la tabla para identificarla.

Para agregar un rótulo identificador, sigue estos pasos:

Console

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

  2. En el caso de los conjuntos de datos, la página de detalles de conjuntos de datos se abre de forma automática. Para las tablas y vistas, haz clic en Detalles (Details) 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 rótulos identificadores adicionales, haz clic en Agregar etiqueta y repite el proceso.
    • Haz clic en Actualizar (Update) para guardar los cambios.

DDL

Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar.

Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.

Para agregar un rótulo identificador mediante una instrucción DDL en Cloud Console, sigue estos pasos:

  1. Haz clic en Redactar consulta nueva.

  2. Escribe tu declaración de DDL en el área de texto Editor de consultas.

     ALTER TABLE mydataset.mytable
     SET OPTIONS (
       labels=[("tag1", ""), ("tag2", "")]
     )
     

  3. Haz clic en Ejecutar consulta.

IU clásica

  1. En la IU web, selecciona el recurso adecuado (un conjunto de datos, una tabla o una vista).

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

  3. En la página de detalles, a la derecha de Etiquetas, haz clic en Editar.

  4. En el diálogo Editar etiquetas (Edit Labels), sigue estos pasos:

    • Ingresa una clave nueva y deja el valor en blanco. Para aplicar etiquetas adicionales, haz clic en Agregar etiqueta.
    • Haz clic en Aceptar (OK).

      Agregar etiqueta.

bq

Para agregar una etiqueta 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 como etiqueta.
  • 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 comando siguiente a fin de crear un rótulo identificador 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 convertir las etiquetas personalizadas existentes en rótulos identificadores 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.

Próximos pasos