Ansichtsattribute aktualisieren

In diesem Dokument wird beschrieben, wie Sie Ansichtsattribute oder -metadaten aktualisieren. Für eine erstellte Ansicht können Sie folgende Ansichtsattribute ändern:

Erforderliche Berechtigungen

Zum Aktualisieren einer Ansicht müssen Sie mindestens die Berechtigungen bigquery.tables.update und bigquery.tables.get haben. Wenn Sie die SQL-Abfrage der Ansicht aktualisieren, benötigen Sie außerdem Berechtigungen zum Abfragen der Tabellen, auf die die SQL-Abfrage der Ansicht verweist.

Diese vordefinierten IAM-Rollen enthalten die Berechtigungen bigquery.tables.update und bigquery.tables.get:

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

Wenn ein Nutzer mit Berechtigungen vom Typ bigquery.datasets.create ein Dataset erstellt, hat er dafür außerdem bigquery.dataOwner-Zugriff. Mit bigquery.dataOwner-Zugriff hat der Nutzer die Möglichkeit, Tabellen und Ansichten im Dataset zu aktualisieren.

Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

SQL-Abfrage einer Ansicht aktualisieren

Sie können die zum Definieren einer Ansicht verwendete SQL-Abfrage so aktualisieren:

  • Mit der Cloud Console
  • Mit dem Befehl bq update des bq-Befehlszeilentools
  • Durch Aufrufen der API-Methode tables.patch
  • Mit den Clientbibliotheken

Sie können den SQL-Dialekt in der API oder im bq-Befehlszeilentool von Legacy-SQL zu Standard-SQL ändern. In der Cloud Console können Sie eine Legacy-SQL-Ansicht nicht auf Standard-SQL aktualisieren.

So aktualisieren Sie die SQL-Abfrage einer Ansicht:

Console

  1. Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Ansicht aus.

  2. Klicken Sie auf den Tab Details.

  3. Klicken Sie über dem Feld Query (Abfrage) auf die Schaltfläche Edit query (Abfrage bearbeiten). Klicken Sie im angezeigten Dialogfeld auf Open (Öffnen).

    Abfrage bearbeiten

  4. Bearbeiten Sie im Feld Query editor (Abfrageeditor) die SQL-Abfrage und klicken Sie dann auf Save view (Ansicht speichern).

    Ansicht speichern

  5. Prüfen Sie, ob alle Felder im Dialogfeld Save view (Ansicht speichern) korrekt ausgefüllt wurden, bevor Sie auf Save (Speichern) klicken.

bq

Führen Sie den Befehl bq update mit dem Flag --view aus. Um Standard-SQL zu verwenden oder den Abfragedialekt von Legacy-SQL zu Standard-SQL zu aktualisieren, geben Sie zusätzlich das Flag --use_legacy_sql ein und setzen es auf false.

Wenn die Abfrage auf externe, benutzerdefinierte Funktionsressourcen verweist, die in Cloud Storage oder lokalen Dateien gespeichert sind, geben Sie diese Ressourcen mit dem Flag --view_udf_resource an. Das Flag --view_udf_resource wird hier nicht erläutert. Weitere Informationen zum Verwenden von benutzerdefinierten Funktionen finden Sie unter Benutzerdefinierte Standard-SQL-Funktionen.

Wenn Sie eine Ansicht in einem anderen Projekt als dem Standardprojekt aktualisieren, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu: project_id:dataset.

bq update \
--use_legacy_sql=false \
--view_udf_resource=path_to_file \
--view='query' \
project_id:dataset.view

Dabei gilt:

  • path_to_file ist der URI oder lokale Dateisystempfad zu einer Codedatei, die sofort als benutzerdefinierte Funktionsressource, die von der Ansicht verwendet werden kann, geladen und ausgewertet werden soll. Wiederholen Sie das Flag, um mehrere Dateien anzugeben.
  • query ist eine gültige Standard-SQL-Abfrage.
  • project_id ist die Projekt-ID.
  • dataset ist ein Dataset, das die Ansicht enthält.
  • view ist der Name der Ansicht, die Sie aktualisieren möchten.

Beispiele:

Geben Sie den folgenden Befehl ein, um die SQL-Abfrage für eine Ansicht namens myview in mydataset zu aktualisieren. mydataset befindet sich in Ihrem Standardprojekt. Die zum Aktualisieren der Ansicht verwendete Beispielabfrage fragt Daten aus dem öffentlichen Dataset USA Name Data ab.

bq update \
--use_legacy_sql=false \
--view \
'SELECT
  name,
  number
FROM
  `bigquery-public-data.usa_names.usa_1910_current`
WHERE
  gender = "M"
ORDER BY
  number DESC' \
mydataset.myview

Geben Sie den folgenden Befehl ein, um die SQL-Abfrage für eine Ansicht namens myview in mydataset zu aktualisieren. mydataset befindet sich in myotherproject, nicht in Ihrem Standardprojekt. Die zum Aktualisieren der Ansicht verwendete Beispielabfrage fragt Daten aus dem öffentlichen Dataset USA Name Data ab.

bq update \
--use_legacy_sql=false \
--view \
'SELECT
  name,
  number
FROM
  `bigquery-public-data.usa_names.usa_1910_current`
WHERE
  gender = "M"
ORDER BY
  number DESC' \
myotherproject:mydataset.myview

API

Zum Aktualisieren einer Ansicht rufen Sie die Methode tables.patch mit einer Tabellenressource auf, die ein aktualisiertes view-Attribut enthält. Da die Methode tables.update die gesamte Tabellenressource ersetzt, ist die Methode tables.patch zu bevorzugen.

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// updateView demonstrates updating the query metadata that defines a logical view.
func updateView(projectID, datasetID, viewID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	// viewID := "myview"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	view := client.Dataset(datasetID).Table(viewID)
	meta, err := view.Metadata(ctx)
	if err != nil {
		return err
	}

	newMeta := bigquery.TableMetadataToUpdate{
		// This example updates a view into the shakespeare dataset to exclude works named after kings.
		ViewQuery: "SELECT word, word_count, corpus, corpus_date FROM `bigquery-public-data.samples.shakespeare` WHERE corpus NOT LIKE '%king%'",
	}

	if _, err := view.Update(ctx, newMeta, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Java API.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.TableId;
import com.google.cloud.bigquery.TableInfo;
import com.google.cloud.bigquery.ViewDefinition;

// Sample to update query on a view
public class UpdateViewQuery {

  public static void runUpdateViewQuery() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String tableName = "MY_TABLE_NAME";
    String viewName = "MY_VIEW_NAME";
    String updateQuery =
        String.format("SELECT TimestampField, StringField FROM %s.%s", datasetName, tableName);
    updateViewQuery(datasetName, viewName, updateQuery);
  }

  public static void updateViewQuery(String datasetName, String viewName, String query) {
    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();

      // Retrieve existing view metadata
      TableInfo viewMetadata = bigquery.getTable(TableId.of(datasetName, viewName));

      // Update view query
      ViewDefinition viewDefinition = viewMetadata.getDefinition();
      viewDefinition.toBuilder().setQuery(query).build();

      // Set metadata
      bigquery.update(viewMetadata.toBuilder().setDefinition(viewDefinition).build());

      System.out.println("View query updated successfully");
    } catch (BigQueryException e) {
      System.out.println("View query was not updated. \n" + e.toString());
    }
  }
}

Node.js

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

// Import the Google Cloud client library and create a client
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateViewQuery() {
  // Updates a view named "my_existing_view" in "my_dataset".

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_existing_dataset"
  // const tableId = "my_existing_table"
  const dataset = await bigquery.dataset(datasetId);

  // This example updates a view into the USA names dataset to include state.
  const newViewQuery = `SELECT name, state
  FROM \`bigquery-public-data.usa_names.usa_1910_current\`
  LIMIT 10`;

  // Retrieve existing view
  const [view] = await dataset.table(tableId).get();

  // Retrieve existing view metadata
  const [metadata] = await view.getMetadata();

  // Uodate view query
  metadata.view = newViewQuery;

  // Set metadata
  await view.setMetadata(metadata);

  console.log(`View ${tableId} updated.`);
}

Python

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur  Python API.

from google.cloud import bigquery

client = bigquery.Client()

view_id = "my-project.my_dataset.my_view"
source_id = "my-project.my_dataset.my_table"
view = bigquery.Table(view_id)

# The source table in this example is created from a CSV file in Google
# Cloud Storage located at
# `gs://cloud-samples-data/bigquery/us-states/us-states.csv`. It contains
# 50 US states, while the view returns only those states with names
# starting with the letter 'M'.
view.view_query = f"SELECT name, post_abbr FROM `{source_id}` WHERE name LIKE 'M%'"

# Make an API request to update the query property of the view.
view = client.update_table(view, ["view_query"])
print(f"Updated {view.table_type}: {str(view.reference)}")

Ablaufzeit einer Ansicht aktualisieren

Sie können eine Standardtabellenablaufzeit auf Dataset-Ebene festlegen, die sowohl für Tabellen als auch für Ansichten gilt, oder die Ablaufzeit einer Ansicht bei der Erstellung der Ansicht festlegen. Wenn Sie den Ablauf einer Ansicht bei ihrer Erstellung festlegen, wird der Standardtabellenablauf des Datasets ignoriert. Wenn Sie keine Standardablaufzeit für Tabellen auf Dataset-Ebene und keine Ablaufzeit beim Erstellen der Ansicht festlegen, ist die Ansicht unbegrenzt gültig. Sie müssen die Ansicht dann manuell löschen.

Nach dem Erstellen der Ansicht können Sie die Ablaufzeit der Ansicht jederzeit so aktualisieren:

  • Mit dem Befehl bq update des bq-Befehlszeilentools
  • Durch Aufrufen der API-Methode tables.patch
  • Mit den Clientbibliotheken

So aktualisieren Sie die Ablaufzeit einer Ansicht:

Console

  1. Wählen Sie im Navigationsbereich Ihre Ansicht aus.

  2. Klicken Sie auf der Seite "Details ansehen" auf den Tab Details.

  3. Klicken Sie rechts neben Ansichtsinformationen auf das Symbol "Bearbeiten" (Stift).

  4. Klicken Sie im Dialogfeld Ansichtsinformationen für Ablauf der Ansicht auf Datum angeben.

  5. Geben Sie in der Datumsauswahl das Datum und die Uhrzeit für den Ablauf ein und klicken Sie dann auf Ok.

  6. Klicken Sie auf Aktualisieren. Die aktualisierte Ablaufzeit wird im Bereich Ansichtsinformationen angezeigt.

SQL

DDL-Anweisungen (Data Definition Language) ermöglichen das Erstellen und Ändern von Tabellen und Ansichten mithilfe der Standard-SQL-Abfragesyntax.

Weitere Informationen finden Sie unter DDL-Anweisungen verwenden.

So verwenden Sie eine DDL-Anweisung in der Cloud Console:

  1. Klicken Sie auf Neue Abfrage erstellen.

  2. Geben Sie die DDL-Anweisung in den Textbereich des Query editor (Abfrageeditor) ein.

    ALTER VIEW mydataset.myview
    SET OPTIONS (
    -- Sets view expiration to timestamp 2025-02-03 12:34:56 in the America/Los Angeles time zone
    expiration_timestamp=TIMESTAMP("2025-02-03 12:34:56", "America/Los Angeles")
    );
    
  3. Klicken Sie auf Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --expiration aus. Wenn Sie eine Ansicht in einem anderen Projekt als Ihrem Standardprojekt aktualisieren, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu: project_id:dataset.

bq update \
--expiration integer \
project_id:dataset.view

Dabei gilt:

  • integer ist die Standardlebensdauer der Tabelle in Sekunden. Der Mindestwert beträgt 3.600 Sekunden (eine Stunde). Die Ablaufzeit entspricht der aktuellen Zeit plus dem ganzzahligen Wert.
  • project_id ist die Projekt-ID.
  • dataset ist der Name des Datasets, das die zu aktualisierende Ansicht enthält.
  • view ist der Name der zu aktualisierenden Ansicht.

Beispiele:

Geben Sie den folgenden Befehl ein, um die Ablaufzeit von myview in mydataset auf 5 Tage (432000 Sekunden) zu aktualisieren. mydataset befindet sich in Ihrem Standardprojekt.

bq update --expiration 432000 mydataset.myview

Geben Sie den folgenden Befehl ein, um die Ablaufzeit von myview in mydataset auf 5 Tage (432000 Sekunden) zu aktualisieren. mydataset befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject.

bq update --expiration 432000 myotherproject:mydataset.myview

API

Rufen Sie die Methode tables.patch auf und verwenden Sie das Attribut expirationTime in der Tabellenressource. Da die Methode tables.update die gesamte Tabellenressource ersetzt, ist die Methode tables.patch zu bevorzugen. Wenn Sie die REST API verwenden, geben Sie die Ablaufzeit der Ansicht in Millisekunden an.

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.

import (
	"context"
	"fmt"
	"time"

	"cloud.google.com/go/bigquery"
)

// updateTableExpiration demonstrates setting the table expiration of a table to a specific point in time
// in the future, at which time it will be deleted.
func updateTableExpiration(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()

	tableRef := client.Dataset(datasetID).Table(tableID)
	meta, err := tableRef.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.TableMetadataToUpdate{
		ExpirationTime: time.Now().Add(time.Duration(5*24) * time.Hour), // table expiration in 5 days.
	}
	if _, err = tableRef.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Java API.

Table beforeTable = bigquery.getTable(datasetName, tableName);

// Set table to expire 5 days from now.
long expirationMillis = DateTime.now().plusDays(5).getMillis();
TableInfo tableInfo = beforeTable.toBuilder()
        .setExpirationTime(expirationMillis)
        .build();
Table afterTable = bigquery.update(tableInfo);

Node.js

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateTableExpiration() {
  // Updates a table's expiration.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = 'my_dataset', // Existing dataset
  // const tableId = 'my_table', // Existing table
  // const expirationTime = Date.now() + 1000 * 60 * 60 * 24 * 5 // 5 days from current time in ms

  // Retreive current table metadata
  const table = bigquery.dataset(datasetId).table(tableId);
  const [metadata] = await table.getMetadata();

  // Set new table expiration to 5 days from current time
  metadata.expirationTime = expirationTime.toString();
  const [apiResponse] = await table.setMetadata(metadata);

  const newExpirationTime = apiResponse.expirationTime;
  console.log(`${tableId} expiration: ${newExpirationTime}`);
}

Python

Das Aktualisieren der Ablaufzeit einer Ansicht funktioniert genauso wie bei einer Tabelle.

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur  Python API.

import datetime
import pytz

# 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.expires is None

# set table to expire 5 days from now
expiration = datetime.datetime.now(pytz.utc) + datetime.timedelta(days=5)
table.expires = expiration
table = client.update_table(table, ["expires"])  # API request

# expiration is stored in milliseconds
margin = datetime.timedelta(microseconds=1000)
assert expiration - margin <= table.expires <= expiration + margin

Beschreibung einer Ansicht aktualisieren

Sie können die Beschreibung einer Ansicht so aktualisieren:

  • Mit der Cloud Console
  • Mit dem Befehl bq update des bq-Befehlszeilentools
  • Durch Aufrufen der API-Methode tables.patch
  • Mit den Clientbibliotheken

So aktualisieren Sie die Beschreibung einer Ansicht:

Console

Wenn Sie Ansichten mit der Cloud Console erstellen, können Sie Beschreibungen nicht direkt hinzufügen. Nachdem die Ansicht erstellt wurde, können Sie auf der Seite Details eine Beschreibung hinzufügen.

  1. Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann die Ansicht aus.

  2. Klicken Sie auf den Tab Details.

  3. Klicken Sie auf das Stiftsymbol neben Description (Beschreibung).

    Ansichtsbeschreibung bearbeiten

  4. Geben Sie eine Beschreibung in das Dialogfeld ein. Klicken Sie auf Aktualisieren, um die neue Beschreibung zu speichern.

SQL

DDL-Anweisungen (Data Definition Language) ermöglichen das Erstellen und Ändern von Tabellen und Ansichten mithilfe der Standard-SQL-Abfragesyntax.

Weitere Informationen finden Sie unter DDL-Anweisungen verwenden.

So verwenden Sie eine DDL-Anweisung in der Cloud Console:

  1. Klicken Sie auf Neue Abfrage erstellen.

  2. Geben Sie die DDL-Anweisung in den Textbereich des Query editor (Abfrageeditor) ein.

     ALTER VIEW mydataset.myview
     SET OPTIONS (
       description="Description of myview"
     );
     

  3. Klicken Sie auf Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --description aus. Wenn Sie eine Ansicht in einem anderen Projekt als Ihrem Standardprojekt aktualisieren, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu: [PROJECT_ID]:[DATASET].

bq update \
--description "description" \
project_id:dataset.view

Dabei gilt:

  • description ist der Text, der die Ansicht in Anführungszeichen beschreibt.
  • project_id ist die Projekt-ID.
  • dataset ist der Name des Datasets, das die zu aktualisierende Ansicht enthält.
  • view ist der Name der zu aktualisierenden Ansicht.

Beispiele:

Geben Sie den folgenden Befehl ein, um die Beschreibung von myview in mydataset zu "Description of myview" zu ändern. mydataset befindet sich in Ihrem Standardprojekt.

bq update --description "Description of myview" mydataset.myview

Geben Sie den folgenden Befehl ein, um die Beschreibung von myview in mydataset zu "Description of myview" zu ändern. mydataset befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject.

bq update \
--description "Description of myview" \
myotherproject:mydataset.myview

API

Zum Aktualisieren der Ansichtsbeschreibung in der Tabellenressource rufen Sie die Methode tables.patch auf und verwenden das Attribut description. Da die Methode tables.update die gesamte Tabellenressource ersetzt, ist die Methode tables.patch zu bevorzugen.

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Go API.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// updateTableDescription demonstrates how to fetch a table's metadata and updates the Description metadata.
func updateTableDescription(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()

	tableRef := client.Dataset(datasetID).Table(tableID)
	meta, err := tableRef.Metadata(ctx)
	if err != nil {
		return err
	}
	update := bigquery.TableMetadataToUpdate{
		Description: "Updated description.",
	}
	if _, err = tableRef.Update(ctx, update, meta.ETag); err != nil {
		return err
	}
	return nil
}

Java

Das Aktualisieren der Beschreibung einer Ansicht funktioniert genauso wie bei einer Tabelle.

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur BigQuery Java API.

// String datasetName = "my_dataset_name";
// String tableName = "my_table_name";
// String newDescription = "new_description";

Table beforeTable = bigquery.getTable(datasetName, tableName);
TableInfo tableInfo = beforeTable.toBuilder()
    .setDescription(newDescription)
    .build();
Table afterTable = bigquery.update(tableInfo);

Node.js

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery Node.js API.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function updateTableDescription() {
  // Updates a table's description.

  // Retreive current table metadata
  const table = bigquery.dataset(datasetId).table(tableId);
  const [metadata] = await table.getMetadata();

  // Set new table description
  const description = 'New table description.';
  metadata.description = description;
  const [apiResponse] = await table.setMetadata(metadata);
  const newDescription = apiResponse.description;

  console.log(`${tableId} description: ${newDescription}`);
}

Python

Das Aktualisieren der Beschreibung einer Ansicht funktioniert genauso wie bei einer Tabelle.

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der BigQuery-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur  Python API.

# 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.description == "Original description."
table.description = "Updated description."

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

assert table.description == "Updated description."

Tipp