Ansichtsattribute aktualisieren

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

Hinweis

Erteilen Sie IAM-Rollen (Identity and Access Management), die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument geben.

Erforderliche Berechtigungen

Zum Aktualisieren einer Ansicht benötigen Sie die folgenden IAM-Berechtigungen:

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

Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie für das Aktualisieren einer Ansicht benötigen:

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

Wenn Sie die Berechtigung bigquery.datasets.create haben, können Sie außerdem Tabellen und Ansichten in den von Ihnen erstellten Datasets aktualisieren.

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.

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:

  • Google Cloud Console verwenden
  • 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 Google Standard-SQL ändern. In der Google Cloud Console können Legacy-SQL-Ansichten nicht auf Google Standard-SQL aktualisiert werden.

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 Google Standard-SQL zu verwenden oder den Abfragedialekt von Legacy-SQL zu Google 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 Google 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: eine gültige Google Standard-SQL-Abfrage.
  • project_id: Ihre Projekt-ID
  • dataset: der Name des Datasets, das die zu aktualisierende Ansicht enthält
  • view: der Name der zu aktualisierenden Ansicht

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 anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. 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 zur Verwendung von Clientbibliotheken. Weitere Angaben 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 zur Verwendung von Clientbibliotheken. 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();

  // Update 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 zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery 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:

  • Google Cloud Console verwenden
  • DDL-Anweisung (Data Definition Language, Datendefinitionssprache) in der Google Standard-SQL-Syntax verwenden
  • 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

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

Weitere Informationen finden Sie unter DDL-Anweisungen verwenden.

Mit einer DDL-Anweisung können Sie die Ablaufzeit einer Ansicht aktualisieren:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

     ALTER VIEW DATASET_ID.MY_VIEW
     SET OPTIONS (
      expiration_timestamp = TIMESTAMP('NEW_TIMESTAMP'));
    

    Dabei gilt:

    • DATASET_ID: die ID des Datasets, das Ihre Ansicht enthält
    • MY_VIEW: der Name der zu aktualisierenden Ansicht
    • NEW_TIMESTAMP: ein ZEITSTEMPEL-Wert

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen 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

Ersetzen Sie Folgendes:

  • integer: die Standardlebensdauer der Tabelle in Sekunden. Der Mindestwert beträgt 3.600 Sekunden bzw. eine Stunde. Die Ablaufzeit entspricht der aktuellen Zeit plus dem ganzzahligen Wert.
  • project_id: Ihre Projekt-ID
  • dataset: der Name des Datasets, das die zu aktualisierende Ansicht enthält
  • view: 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 anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. 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 zur Verwendung von Clientbibliotheken. Weitere Angaben 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 zur Verwendung von Clientbibliotheken. 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 ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery 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:

  • Google Cloud Console verwenden
  • DDL-Anweisung (Data Definition Language, Datendefinitionssprache) in der Google Standard-SQL-Syntax verwenden
  • 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

Sie können keine Beschreibung hinzufügen, wenn Sie eine Ansicht mit der Google Cloud Console erstellen. 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

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

Weitere Informationen finden Sie unter DDL-Anweisungen verwenden.

Mit einer DDL-Anweisung können Sie die Beschreibung einer Ansicht aktualisieren:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

     ALTER VIEW DATASET_ID.MY_VIEW
     SET OPTIONS (
      description = 'NEW_DESCRIPTION');
    

    Dabei gilt:

    • DATASET_ID: die ID des Datasets, das Ihre Ansicht enthält
    • MY_VIEW: der Name der zu aktualisierenden Ansicht
    • NEW_DESCRIPTION: die neue Beschreibung der Ansicht

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfragen 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: der Text, der die Ansicht in Anführungszeichen beschreibt.
  • project_id: Ihre Projekt-ID.
  • dataset: der Name des Datasets, das die zu aktualisierende Ansicht enthält
  • view: 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 anwenden, folgen Sie den Schritten zur Einrichtung von Go in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. 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 ausprobieren, folgen Sie der Java-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben 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 zur Verwendung von Clientbibliotheken. 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 ausprobieren, folgen Sie der Python-Einrichtungsanleitung in der BigQuery-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Angaben finden Sie in der Referenzdokumentation zur BigQuery 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."

Sicherheit ansehen

Informationen zum Steuern des Zugriffs auf Ansichten in BigQuery finden Sie unter Autorisierte Ansichten.

Nächste Schritte