Administra etiquetas

Para organizar tus recursos de BigQuery, puedes agregar etiquetas a tus conjuntos de datos, tablas y vistas. Las etiquetas son pares clave-valor que puedes adjuntar a un recurso. Cuando creas recursos de BigQuery, las etiquetas son opcionales.

Después de etiquetar tus recursos, puedes buscarlos según los valores de las etiquetas. Por ejemplo, con las etiquetas puedes agrupar conjuntos de datos por propósito, entorno, departamento, etcétera.

Esta página explica cómo administrar etiquetas en los recursos de BigQuery, incluido cómo actualizar y quitar etiquetas.

Para obtener información sobre cómo agregar etiquetas a los recursos de BigQuery y sobre el uso de etiquetas en BigQuery, consulta Agregar y usar etiquetas.

¿Qué son las etiquetas?

Una etiqueta es un par clave-valor que te ayuda a organizar tus recursos de BigQuery en Google Cloud Platform. Puedes adjuntar una etiqueta a cada recurso y filtrar cada uno según sus etiquetas. La información sobre las etiquetas se reenvía al sistema de facturación a fin de que puedas desglosar tus cargos de facturación según las etiquetas.

Usos comunes de las etiquetas

Estos son algunos casos prácticos comunes de las etiquetas:

  • Etiquetas por equipo o centro de costo: Agrega etiquetas por equipo o centro de costo a fin de distinguir los recursos de BigQuery que sean propiedad de distintos equipos (por ejemplo, team:research y team:analytics). Puedes usar este tipo de etiquetas para la contabilidad de costos o la creación de presupuestos.

  • Etiquetas de componentes: Por ejemplo, component:redis, component:frontend, component:ingest y component:dashboard.

  • Etiquetas de entorno o de etapa: Por ejemplo, environment:production y environment:test.

  • Etiquetas de estado: Por ejemplo, state:active, state:readytodelete y state:archive.

Requisitos para las etiquetas

Las etiquetas que se aplican a un recurso deben cumplir los siguientes requisitos:

  • Cada recurso puede tener varias etiquetas, hasta 64.
  • Cada etiqueta debe ser un par clave-valor.
  • La longitud de las claves debe ser de entre 1 y 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y su longitud máxima es de 63 caracteres.
  • 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, además, se permiten los caracteres internacionales.
  • La porción de clave de una etiqueta debe ser única. Sin embargo, puedes usar la misma clave en varios recursos.
  • Las claves deben comenzar con una letra en minúscula o un carácter internacional.

Cómo actualizar las etiquetas de los conjuntos de datos

Una etiqueta de conjunto de datos se puede actualizar con una IU web de BigQuery, la herramienta de línea de comandos bq update o con una llamada a los métodos de API datasets.patch.

Permisos necesarios

Para actualizar una etiqueta de conjunto de datos, debes tener acceso de OWNER a nivel de conjunto de datos o tener asignada una función de IAM a nivel de proyecto que incluya permisos bigquery.datasets.update. Las siguientes funciones de IAM a nivel de proyecto predefinidas incluyen los permisos bigquery.datasets.update:

Además, debido a que la función bigquery.user tiene permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede actualizar cualquier conjunto de datos que cree el usuario. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se le otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos permite al usuario un control total sobre este.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel de conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Cómo actualizar una etiqueta de conjunto de datos

Sigue estos pasos para actualizar las etiquetas de un conjunto de datos existente:

IU web

  1. En la IU web, selecciona el conjunto de datos.

  2. En la página Detalles del conjunto de datos, a la derecha de Etiquetas, haz clic en Editar.

    Editar etiquetas

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

    • Para aplicar etiquetas adicionales, haz clic en Agregar etiqueta. 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.

      Etiqueta nueva

Línea de comandos

Para agregar etiquetas adicionales o actualizar una etiqueta de un conjunto de datos, ejecuta el comando bq update con la marca set_label. Repite la marca para agregar o actualizar varias etiquetas.

Si el conjunto de datos se encuentra en otro proyecto que no sea 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]

Donde:

  • [KEY:VALUE] corresponde a un par clave-valor para una etiqueta que desees agregar o actualizar. Si especificas la misma clave que una etiqueta existente, se actualiza el valor de la etiqueta existente. La clave debe ser exclusiva.
  • [PROJECT_ID] es tu ID del proyecto.
  • [DATASET] es el conjunto de datos que estás actualizando.

Ejemplos:

A fin de actualizar la etiqueta department en mydataset, ingresa el comando bq update y especifica department como la clave de etiqueta. Por ejemplo, a fin de actualizar la etiqueta department:shipping a department:logistics, ingresa el siguiente comando. mydataset se encuentra en myotherproject, no en tu proyecto predeterminado.

    bq update --set_label department:logistics myotherproject:mydataset

API

A fin de agregar etiquetas adicionales o actualizar una etiqueta para un conjunto de datos existente, llama al método datasets.patch y agrega o actualiza la propiedad labels del recurso de conjunto de datos.

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

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
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
}

Java

Esta muestra usa la biblioteca cliente HTTP de Google para Java a fin de enviar una solicitud a la API de BigQuery.
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));
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

assert dataset.labels == {}
labels = {'color': 'green'}
dataset.labels = labels

dataset = client.update_dataset(dataset, ['labels'])  # API request

assert dataset.labels == labels

Cómo actualizar etiquetas de tabla y vista

Después de crear una tabla o vista, se puede actualizar una etiqueta con la IU web de BigQuery, el comando bq update de la herramienta de línea de comandos o con una llamada al método de API tables.patch. 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

Para actualizar una etiqueta de una tabla o vista existentes, debes tener acceso de OWNER a nivel de conjunto de datos o tener asignada una función de IAM a nivel de proyecto que incluya permisos bigquery.tables.update. Las siguientes funciones de IAM a nivel de proyecto predefinidas incluyen los permisos bigquery.tables.update:

Además, debido a que la función bigquery.user tiene permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede actualizar tablas y vistas en cualquier conjunto de datos que cree el usuario. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se le otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos permite al usuario un control total sobre este y las tablas y vistas que contenga.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel de conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Cómo actualizar una etiqueta de tabla o vista

Sigue estos pasos para actualizar una etiqueta a una tabla o vista:

IU web

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

  2. En la página de detalles, a la derecha de Etiquetas, haz clic en Editar. Este ejemplo muestra los detalles de una tabla.

    Editar etiquetas

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

    • Para agregar etiquetas adicionales, haz clic en Agregar etiqueta. 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.
    • Modifica las claves o valores existentes para actualizar una etiqueta.
    • Haz clic en Aceptar.

      Etiqueta nueva

Línea de comandos

Para agregar etiquetas adicionales o actualizar una etiqueta de una tabla o una vista, ejecuta el comando bq update con la marca set_label. Repite la marca para agregar o actualizar varias etiquetas.

Si la tabla o vista se encuentra en otro proyecto que no sea 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]

Donde:

  • [KEY:VALUE] corresponde a un par clave-valor para una etiqueta que desees agregar o actualizar. Si especificas la misma clave que una etiqueta existente, se actualiza el valor de la etiqueta existente. La clave debe ser exclusiva.
  • [PROJECT_ID] es tu ID del proyecto.
  • [DATASET] es el conjunto de datos que contiene la tabla o vista que estás actualizando.
  • [TABLE_OR_VIEW] es el nombre de la tabla o vista que estás actualizando.

Ejemplos:

A fin de actualizar la etiqueta department en mytable, ingresa el comando bq update y especifica department como la clave de etiqueta. Por ejemplo, a fin de actualizar la etiqueta department:shipping a department:logistics para mytable, ingresa el siguiente comando. mytable se encuentra en myotherproject, no en tu proyecto predeterminado.

    bq update --set_label department:logistics myotherproject:mydataset.mytable

API

A fin de agregar etiquetas adicionales o actualizar una etiqueta para una tabla o vista existentes, llama al método tables.patch y agrega o actualiza la propiedad labels del recurso de la 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 el método tables.update reemplaza todo el recurso de conjunto de datos, el método tables.patch es preferible.

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
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
}

Java

Esta muestra usa la biblioteca cliente HTTP de Google para Java a fin de enviar una solicitud a la API de BigQuery.
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));
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').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

Cómo actualizar etiquetas de trabajo

Actualmente, no se admite la actualización de una etiqueta de trabajo. Para actualizar la etiqueta en un trabajo, vuelve a enviar el trabajo con una nueva etiqueta especificada.

Cómo borrar etiquetas

Se puede borrar una etiqueta de un conjunto de datos, tabla o vista con la IU web de BigQuery, el comando bq update de la herramienta de línea de comandos o con una llamada a datasets.patch o método de API tables.patch.

Cómo borrar una etiqueta de conjunto de datos

Para quitar una etiqueta de conjunto de datos, usa la IU web de BigQuery, el comando bq update de la herramienta de línea de comandos o llama al método API datasets.patch.

Permisos necesarios

Para quitar una etiqueta de conjunto de datos, debes tener acceso de OWNER a nivel de conjunto de datos o tener asignada una función de IAM a nivel de proyecto que incluya permisos bigquery.datasets.update. Las siguientes funciones de IAM a nivel de proyecto predefinidas incluyen los permisos bigquery.datasets.update:

Además, debido a que la función bigquery.user tiene permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede actualizar cualquier conjunto de datos que cree el usuario. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se le otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos permite al usuario un control total sobre este.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel de conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Cómo borrar una etiqueta de conjunto de datos

Sigue estos pasos para quitar una etiqueta de un conjunto de datos:

IU web

  1. En la IU web, selecciona el conjunto de datos.

  2. En la página Detalles del conjunto de datos, a la derecha de Etiquetas, haz clic en Editar.

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

    • Haz clic en el ícono de borrar (X) para cada etiqueta que desees quitar.
    • Haz clic en Aceptar.

      Borrar etiqueta

Línea de comandos

A fin de quitar una etiqueta de conjunto de datos, ejecuta el comando bq update con la marca clear_label. Repite la marca para quitar varias etiquetas.

Si el conjunto de datos se encuentra en otro proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en el siguiente formato: [PROJECT_ID]:[DATASET].

    bq update --clear_label [KEY] [PROJECT_ID]:[DATASET]

Donde:

  • [KEY] es la clave para una etiqueta que desees quitar.
  • [PROJECT_ID] es tu ID del proyecto.
  • [DATASET] es el conjunto de datos que estás actualizando.

Ejemplos:

Para quitar la etiqueta department:shipping de mydataset, ingresa el comando bq update con la marca --clear_label. mydataset se encuentra en tu proyecto predeterminado.

    bq update --clear_label department mydataset

Para quitar la etiqueta department:shipping de mydataset en myotherproject, ingresa el comando bq update con la marca --clear_label.

    bq update --clear_label department myotherproject:mydataset

A fin de quitar varias etiquetas de un conjunto de datos, repite la marca clear_label y especifica la clave de cada etiqueta. Por ejemplo, para quitar la etiqueta department:shipping y las etiquetas cost_center:logistics de mydataset en tu proyecto predeterminado, ingresa lo siguiente:

    bq update --clear_label department --clear_label cost_center mydataset

API

Para quitar una etiqueta en particular de un conjunto de datos existente, llama al método datasets.patch y actualiza la propiedad labels para el recurso del conjunto de datos con la configuración del valor de la clave de la etiqueta a null.

A fin de quitar todas las etiquetas de un conjunto de datos, llama al método datasets.patch y quita la propiedad de labels.

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

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ds := client.Dataset(datasetID)
meta, err := ds.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.DatasetMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

# This example dataset starts with one label
assert dataset.labels == {'color': 'green'}
# To delete a label from a dataset, set its value to None
dataset.labels['color'] = None

dataset = client.update_dataset(dataset, ['labels'])  # API request

assert dataset.labels == {}

Cómo borrar la etiqueta de una tabla o vista

Para quitar una etiqueta de una tabla o vista, usa la IU web de BigQuery, el comando bq update o llama al método API tables.patch. 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

Para quitar una etiqueta de una tabla o vista, debes tener acceso de OWNER a nivel de conjunto de datos o tener asignada una función de IAM a nivel de proyecto que incluya permisos bigquery.tables.update. Las siguientes funciones de IAM a nivel de proyecto predefinidas incluyen los permisos bigquery.tables.update:

Además, debido a que la función bigquery.user tiene permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede actualizar una tabla o vista en cualquier conjunto de datos que cree el usuario. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se le otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos permite al usuario un control total sobre este y todas las tablas y vistas que contenga.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel de conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Cómo borrar la etiqueta de una tabla o vista

Sigue estos pasos para quitar una etiqueta de una tabla o vista:

IU web

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

  2. En la página de Detalles, a la derecha de Etiquetas, haz clic en Editar.

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

    • Haz clic en el ícono de borrar (X) para cada etiqueta que desees quitar.
    • Haz clic en Aceptar.

      Borrar etiqueta

Línea de comandos

Para quitar una etiqueta de una tabla o vista, ejecuta el comando bq update con la marca clear_label. Repite la marca para quitar varias etiquetas.

Si la tabla o vista se encuentra en otro proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en el siguiente formato: [PROJECT_ID]:[DATASET].

    bq update --clear_label [KEY] [PROJECT_ID]:[TABLE_OR_VIEW]

Donde:

  • [KEY] es la clave para una etiqueta que desees quitar.
  • [PROJECT_ID] es tu ID del proyecto.
  • [DATASET] es el conjunto de datos que estás actualizando.
  • [TABLE_OR_VIEW] es el nombre de la tabla o vista que estás actualizando.

Ejemplos:

Para quitar la etiqueta department:shipping de mydataset.mytable, ingresa el comando bq update con la marca --clear_label. mydataset se encuentra en tu proyecto predeterminado.

    bq update --clear_label department mydataset.mytable

Para quitar la etiqueta department:shipping de mydataset.myview en myotherproject, ingresa el comando bq update con la marca --clear_label.

    bq update --clear_label department myotherproject:mydataset.myview

A fin de quitar varias etiquetas de una tabla o viste, repite la marca clear_label y especifica la clave de cada etiqueta. Por ejemplo, para quitar la etiqueta department:shipping y las etiquetas cost_center:logistics de mydataset.mytable en tu proyecto predeterminado, ingresa lo siguiente:

    bq update --clear_label department --clear_label cost_center mydataset.mytable

API

Para quitar una etiqueta en particular de una tabla o vista existentes, llama al método tables.patch y actualiza la propiedad labels para el recurso de la tabla con la configuración del valor de la clave de la etiqueta a null.

A fin de quitar todas las etiquetas de una tabla o vista, llama al método tables.patch y quita la propiedad de labels.

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 el método tables.update reemplaza todo el recurso de conjunto de datos, el método tables.patch es preferible.

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
tbl := client.Dataset(datasetID).Table(tableID)
meta, err := tbl.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.TableMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('my_table')
# table = client.get_table(table_ref)  # API request

# This example table starts with one label
assert table.labels == {'color': 'green'}
# To delete a label from a table, set its value to None
table.labels['color'] = None

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

assert table.labels == {}

Cómo borrar etiquetas de trabajo

Actualmente, no se puede borrar una etiqueta de trabajo.

Cómo convertir una etiqueta en una etiqueta

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

Las etiquetas 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 varios grupos usan (asistencia, desarrollo, etcétera), puedes agregar una etiqueta test_data a la tabla para identificarla.

Sigue los siguientes pasos para convertir una etiqueta en una etiqueta:

IU web

  1. En la IU web, 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 se abre automáticamente. 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 cuadro de diálogo Editar etiquetas, haz lo siguiente:

    • Borra el valor de una etiqueta existente.
    • Haz clic en Aceptar.

      Agregar etiqueta

Línea de comandos

Para convertir una etiqueta en una etiqueta, usa el comando bq update con la marca set_label. Especifica la clave, seguida de dos puntos, pero no especifiques el valor. Esto actualiza una etiqueta existente a una etiqueta.

bq update --set_label [KEY]: [RESOURCE_ID]

Donde:

  • [KEY] es la clave de etiqueta que deseas actualizar a una etiqueta.
  • [RESOURCE_ID] es un nombre válido de conjunto de datos, tabla o vista. Si el recurso se encuentra en otro proyecto que no sea el predeterminado, agrega el ID del proyecto en el siguiente formato: [PROJECT_ID]:[DATASET].

Ejemplos:

Ingresa el siguiente comando para cambiar la etiqueta test_data:development existente en mydataset a una etiqueta mydataset que está en myotherproject, no en tu proyecto predeterminado.

bq update --set_label test_data: myotherproject:mydataset

API

Para convertir una etiqueta existente en una etiqueta, llama al método datasets.patch o al método tables.patch y reemplaza los valores de la etiqueta con la string vacía ("") en el recurso de conjunto de datos o en 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. Además, debido a que el método tables.update reemplaza todo el recurso de conjunto de datos, el método tables.patch es preferible.

¿Qué sigue?

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.