עדכון התוויות

בדף הזה מוסבר איך לעדכן תוויות במשאבי BigQuery.

לפני שמתחילים

מקצים תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה במסמך הזה. ההרשאות שנדרשות לביצוע משימה (אם יש כאלה) מפורטות בקטע 'הרשאות נדרשות' של המשימה.

עדכון תוויות של מערכי נתונים

אפשר לעדכן את התווית של מערך נתונים בדרכים הבאות:

  • שימוש במסוף Google Cloud
  • שימוש בהצהרות DDL של SQL
  • שימוש בפקודה bq update של כלי שורת הפקודה של bq
  • קריאה לשיטת ה-API‏ datasets.patch
  • שימוש בספריות הלקוח

ההרשאות הנדרשות

כדי לעדכן תווית של מערך נתונים, צריך את הרשאת ה-IAM‏ bigquery.datasets.update.

כל אחד מהתפקידים המוגדרים מראש ב-IAM שמופיעים בהמשך כולל את ההרשאות שנדרשות לעדכון של תווית מערך נתונים:

  • roles/bigquery.dataOwner
  • roles/bigquery.admin

בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של מערכי הנתונים שאתם יוצרים.

במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.

עדכון תווית של מערך נתונים

כדי לעדכן תוויות במערך נתונים, בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. במסוף Google Cloud , בוחרים את מערך הנתונים.

  2. בדף הפרטים של מערך הנתונים, לוחצים על סמל העיפרון משמאל לתוויות.

    עיפרון לסימון תוויות

  3. בתיבת הדו-שיח עריכת תוויות:

    • כדי להחיל תוויות נוספות, לוחצים על הוספת תווית. אפשר להשתמש בכל מפתח רק פעם אחת בכל מערך נתונים, אבל אפשר להשתמש באותו מפתח במערכי נתונים שונים באותו פרויקט.
    • כדי לעדכן תווית, משנים את המפתחות או הערכים הקיימים.
    • לוחצים על עדכון כדי לשמור את השינויים.

SQL

משתמשים בהצהרת DDL‏ ALTER SCHEMA SET OPTIONS כדי להגדיר את התוויות במערך נתונים קיים. הגדרת תוויות מחליפה את כל התוויות הקיימות במערך הנתונים. בדוגמה הבאה מוגדרת תווית אחת במערך הנתונים mydataset:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. מזינים את ההצהרה הבאה בעורך השאילתות:

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

  3. לוחצים על הפעלה.

מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.

BQ

כדי להוסיף עוד תוויות או לעדכן תווית של מערך נתונים, מריצים את הפקודה bq update עם הדגל set_label. חוזרים על הפעולה כדי להוסיף או לעדכן כמה תוויות.

אם מערך הנתונים נמצא בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: [PROJECT_ID]:[DATASET].

bq update \
--set_label key:value \
project_id:dataset

כאשר:

  • key:value מתאים לצמד מפתח:ערך של תווית שרוצים להוסיף או לעדכן. אם מציינים מפתח זהה לתווית קיימת, הערך של התווית הקיימת מתעדכן. המפתח חייב להיות ייחודי.
  • project_id הוא מזהה הפרויקט.
  • dataset היא קבוצת הנתונים שאתם מעדכנים.

דוגמה:

כדי לעדכן את התווית department ב-mydataset, מזינים את הפקודה bq update ומציינים את department כמפתח התווית. לדוגמה, כדי לעדכן את התווית department:shipping ל-department:logistics, מזינים את הפקודה הבאה. mydataset נמצא בmyotherproject, ולא בפרויקט ברירת המחדל שלך.

    bq update \
    --set_label department:logistics \
    myotherproject:mydataset

הפלט אמור להיראות כך:

Dataset 'myotherproject:mydataset' successfully updated.

API

כדי להוסיף תוויות נוספות או לעדכן תווית של מערך נתונים קיים, קוראים למתודה datasets.patch ומוסיפים או מעדכנים את המאפיין labels של משאב מערך הנתונים.

השיטה המועדפת היא datasets.patch, כי השיטה datasets.update מחליפה את כל משאב מערך הנתונים.

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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

בדוגמה הזו נעשה שימוש בספריית הלקוח של Google HTTP ל-Java כדי לשלוח בקשה ל-BigQuery API.

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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 runLabelDataset() {
    // 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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.


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

עדכון של תוויות טבלה ותוויות תצוגה

אפשר לעדכן תווית אחרי שיוצרים טבלה או תצוגה מפורטת על ידי:

  • שימוש במסוף Google Cloud
  • שימוש בפקודה bq update של כלי שורת הפקודה של bq
  • שליחת קריאה לשיטה tables.patch של API
    • מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה tables.patch כדי לשנות גם תצוגות וגם טבלאות.
  • שימוש בספריות הלקוח

ההרשאות הנדרשות

כדי לעדכן טבלה או תווית של תצוגה מפורטת, נדרשת הרשאת IAM‏ bigquery.tables.update.

כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי לעדכן טבלה או להציג תווית:

  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של הטבלאות והתצוגות במערכי הנתונים שאתם יוצרים.

במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.

עדכון התווית של טבלה או תצוגה

כדי לעדכן טבלה או תווית של תצוגה:

המסוף

  1. במסוף Google Cloud , בוחרים את הטבלה או התצוגה.

  2. לוחצים על הכרטיסייה פרטים ואז על סמל העיפרון משמאל לתוויות.

  3. בתיבת הדו-שיח עריכת תוויות:

    • כדי להחיל תוויות נוספות, לוחצים על הוספת תווית. אפשר להשתמש בכל מפתח רק פעם אחת לכל טבלה או תצוגה, אבל אפשר להשתמש באותו מפתח בטבלאות או בתצוגות בקבוצות נתונים שונות.
    • כדי לעדכן תווית, משנים את המפתחות או הערכים הקיימים.
    • לוחצים על עדכון כדי לשמור את השינויים.

SQL

משתמשים בהצהרת DDL‏ ALTER TABLE SET OPTIONS כדי להגדיר את התוויות בטבלה קיימת, או בהצהרת DDL‏ ALTER VIEW SET OPTIONS כדי להגדיר את התוויות בתצוגה קיימת. הגדרת תוויות מחליפה את כל התוויות הקיימות בטבלה או בתצוגה. בדוגמה הבאה מוגדרות שתי תוויות בטבלה mytable:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. מזינים את ההצהרה הבאה בעורך השאילתות:

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

  3. לוחצים על הפעלה.

מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.

BQ

כדי להוסיף עוד תוויות או לעדכן תווית של טבלה או תצוגה, מריצים את הפקודה bq update עם הדגל set_label. כדי להוסיף או לעדכן כמה תוויות, חוזרים על הדגל.

אם הטבלה או התצוגה נמצאות בפרויקט שאינו פרויקט ברירת המחדל, צריך להוסיף את מזהה הפרויקט למערך הנתונים בפורמט הבא: project_id:dataset.

bq update \
--set_label key:value \
project_id:dataset.table_or_view

כאשר:

  • key:value מתאים לצמד מפתח:ערך של תווית שרוצים להוסיף או לעדכן. אם מציינים מפתח זהה לתווית קיימת, הערך של התווית הקיימת מתעדכן. המפתח חייב להיות ייחודי.
  • project_id הוא מזהה הפרויקט.
  • dataset הוא מערך הנתונים שמכיל את הטבלה או התצוגה שאתם מעדכנים.
  • table_or_view הוא השם של הטבלה או התצוגה שאתם מעדכנים.

דוגמה:

כדי לעדכן את התווית department עבור mytable, מזינים את הפקודה bq update ומציינים את department כמפתח התווית. לדוגמה, כדי לעדכן את התווית department:shipping ל-department:logistics עבור mytable, מזינים את הפקודה הבאה. ‫mytable נמצא בmyotherproject, ולא בפרויקט ברירת המחדל.

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

הפלט אמור להיראות כך:

Table 'myotherproject:mydataset.mytable' successfully updated.

API

כדי להוסיף תוויות או לעדכן תוויות של טבלה או תצוגה קיימות, קוראים לשיטה tables.patch ומוסיפים או מעדכנים את המאפיין labels של משאב הטבלה.

מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה tables.patch כדי לשנות גם תצוגות וגם טבלאות.

השיטה המועדפת היא tables.patch, כי השיטה tables.update מחליפה את כל משאב מערך הנתונים.

Go

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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

בדוגמה הזו נעשה שימוש ב-Google HTTP Client Library for Java כדי לשלוח בקשה ל-BigQuery API.

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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 runLabelTable() {
    // 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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

# 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

עדכון תוויות של משרות

אין תמיכה בעדכון של תווית משרה. כדי לעדכן את התווית של משימה, צריך לשלוח מחדש את המשימה עם תווית חדשה.

עדכון תוויות ההזמנה

אפשר לעדכן תווית בהזמנה. עדכון תווית באמצעות SQL מחליף את כל התוויות הקיימות בהזמנה.

התפקידים שצריך ב-IAM

כדי לקבל את ההרשאה שנדרשת לעדכון תווית בהזמנה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ BigQuery Resource Editor (roles/bigquery.resourceEditor) בפרויקט הניהול. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד שמוגדר מראש מכיל את ההרשאה bigquery.reservations.update, שנדרשת כדי לעדכן תווית בהזמנה.

יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.

עדכון תווית בהזמנה

כדי לעדכן תווית בהזמנה:

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בתפריט הניווט, לוחצים על ניהול קיבולת.

  3. לוחצים על הכרטיסייה Slot reservations.

  4. מאתרים את ההזמנה שרוצים לעדכן.

  5. מרחיבים את האפשרות Actions (פעולות).

  6. לוחצים על Edit.

  7. כדי להרחיב את הקטע הגדרות מתקדמות, לוחצים על החץ להרחבה .

  8. מעדכנים את השמות של צמד המפתח/הערך.

  9. לוחצים על Save.

BQ

כדי לעדכן תווית להזמנה, מריצים את הפקודה bq update עם הדגלים set_label ו---reservation. כדי לעדכן כמה תוויות, חוזרים על הפעולה של סימון בדגל.

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

מחליפים את מה שכתוב בשדות הבאים:

  • KEY:VALUE: צמד מפתח/ערך של תווית שרוצים לעדכן בהזמנה. המפתח חייב להיות ייחודי. המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. כל התווים צריכים להיות בקידוד UTF-8, ואפשר להשתמש בתווים בינלאומיים. כדי לעדכן כמה תוויות בהזמנה, חוזרים על הדגל --label ומציינים מפתח ייחודי לכל תווית.
  • RESERVATION_NAME: השם של ההזמנה.

SQL

כדי לעדכן תווית בהזמנה, משתמשים בהצהרת ALTER RESERVATION SET OPTIONS DDL כדי להגדיר את התוויות בהזמנה קיימת. הגדרת תוויות מחליפה את כל התוויות הקיימות בהזמנה. בדוגמה הבאה מוגדרת תווית להזמנה myreservation:

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. מזינים את ההצהרה הבאה בעורך השאילתות:

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

  3. לוחצים על הפעלה.

מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.

המרת תוויות לתגים

תווית עם מפתח בעל ערך ריק משמשת כתג. אתם יכולים ליצור תווית חדשה ללא ערך, או להפוך תווית קיימת לתג במערך נתונים, בטבלה או בתצוגה. אי אפשר להמיר תווית של משרה לתג.

תגים יכולים להיות שימושיים במצבים שבהם אתם מתייגים משאב, אבל לא צריך את הפורמט key:value. לדוגמה, אם יש לכם טבלה שמכילה נתוני בדיקה שמשמשים כמה קבוצות (תמיכה, פיתוח וכו'), אתם יכולים להוסיף תג test_data לטבלה כדי לזהות אותה.

ההרשאות הנדרשות

כדי להמיר תווית לתג, אתם צריכים את הרשאות ה-IAM הבאות:

  • bigquery.datasets.update (מאפשרת להמיר תווית של מערך נתונים)
  • bigquery.tables.update (מאפשר להמיר טבלה או תווית תצוגה)

כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שנדרשות כדי להמיר תווית של מערך נתונים:

  • roles/bigquery.dataOwner
  • roles/bigquery.admin

כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי להמיר תווית של טבלה או תצוגה:

  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

בנוסף, אם יש לכם הרשאת bigquery.datasets.create, אתם יכולים לעדכן את התוויות של מערכי הנתונים שאתם יוצרים, ושל הטבלאות והתצוגות במערכי הנתונים האלה.

במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.

המרת תווית לתג

כדי להמיר תווית לתג:

המסוף

  1. במסוף Google Cloud , בוחרים את מערך הנתונים, הטבלה או התצוגה.

  2. לגבי מערכי נתונים, דף הפרטים של מערך הנתונים נפתח באופן אוטומטי. כדי לפתוח את דף הפרטים של טבלאות ותצוגות, לוחצים על פרטים.

    פרטי הטבלה

  3. בדף הפרטים, לוחצים על סמל העיפרון משמאל לתוויות.

    עיפרון לסימון תוויות

  4. בתיבת הדו-שיח עריכת תוויות:

    • מוחקים את הערך של תווית קיימת.
    • לוחצים על עדכון.

BQ

כדי להמיר תווית לתג, משתמשים בפקודה bq update עם הדגל set_label. מציינים את המפתח, ואחריו נקודתיים, אבל לא מציינים את הערך. הפעולה הזו מעדכנת תווית קיימת לתג.

bq update \
--set_label key: \
resource_id

כאשר:

  • key: הוא מפתח התווית שרוצים לעדכן לתג.
  • resource_id הוא שם תקין של קבוצת נתונים, טבלה או תצוגה. אם המשאב נמצא בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא: project_id:dataset.

דוגמאות:

מזינים את הפקודה הבאה כדי לשנות את התווית test_data:development הקיימת ב-mydataset לתג. ‫mydataset נמצא בmyotherproject, ולא בפרויקט ברירת המחדל.

bq update --set_label test_data: myotherproject:mydataset

הפלט אמור להיראות כך:

Dataset 'myotherproject:mydataset' successfully updated.

API

כדי להפוך תווית קיימת לתג, קוראים למתודה datasets.patch או למתודה tables.patch ומחליפים את ערכי התווית במחרוזת ריקה ("") במשאב של מערך הנתונים או במשאב של הטבלה.

מכיוון שהתצוגות נחשבות למשאבי טבלה, משתמשים בשיטה tables.patch כדי לשנות גם תצוגות וגם טבלאות. בנוסף, מכיוון שהשיטה tables.update מחליפה את כל משאב מערך הנתונים, עדיף להשתמש בשיטה tables.patch.

המאמרים הבאים