Dataset-Attribute aktualisieren
In diesem Dokument wird beschrieben, wie Sie Dataset-Attribute in BigQuery aktualisieren. Nachdem Sie ein Dataset erstellt haben, können Sie folgende Dataset-Attribute aktualisieren:
- Zugriffssteuerung
- Abrechnungsmodell
- Standardablaufzeit für neue Tabellen
- Standardablaufzeit von Partitionen für neu partitionierte Tabellen
- Standard-Rundungsmodus für neue Tabellen
- Beschreibung
- Labels
- Zeitreisefenster
Vorbereitung
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 von Dataset-Attributen benötigen Sie die folgenden IAM-Berechtigungen:
bigquery.datasets.update
bigquery.datasets.setIamPolicy
(nur erforderlich, wenn Dataset-Zugriffssteuerungen in der Google Cloud Console aktualisiert werden)
Die vordefinierte IAM-Rolle roles/bigquery.dataOwner
enthält die Berechtigungen, die Sie zum Aktualisieren von Dataset-Attributen benötigen.
Wenn Sie die Berechtigung bigquery.datasets.create
haben, können Sie außerdem Attribute der von Ihnen erstellten Datasets aktualisieren.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.
Dataset-Beschreibungen aktualisieren
Sie können die Beschreibung einer Tabelle auf folgenden Wegen aktualisieren:
- Google Cloud Console verwenden
- Den Befehl
bq update
des bq-Befehlszeilentools verwenden - Durch Aufruf der API-Methode
datasets.patch
- Mithilfe der Clientbibliotheken
So aktualisieren Sie die Beschreibung eines Datasets:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Option
Aktionen und klicken Sie auf Öffnen.Klicken Sie im Feld Details auf
Details bearbeiten, um den Beschreibungstext zu bearbeiten.Führen Sie im angezeigten Dialogfeld Details bearbeiten die folgenden Schritte aus:
- Geben Sie eine Beschreibung in das Feld Beschreibung ein oder bearbeiten Sie die vorhandene Beschreibung.
- Klicken Sie zum Speichern des neuen Beschreibungstexts auf Speichern.
SQL
Zum Aktualisieren der Beschreibung eines Datasets verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS
zum Festlegen der Option description
.
Im folgenden Beispiel wird die Beschreibung für ein Dataset mit dem Namen mydataset
festgelegt:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER SCHEMA mydataset SET OPTIONS ( description = 'Description of mydataset');
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
bq
Führen Sie den Befehl bq update
mit dem Flag --description
aus. Wenn Sie ein Dataset 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 "string" \ project_id:dataset
Ersetzen Sie dabei Folgendes:
string
: der Text zur Beschreibung des Datasets in Anführungszeichen.project_id
: Ihre Projekt-IDdataset
: der Name des Datasets, das Sie aktualisieren.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Beschreibung von mydataset
in "Description of mydataset" (Beschreibung von mydataset) zu ändern. mydataset
befindet sich in Ihrem Standardprojekt.
bq update --description "Description of mydataset" mydataset
Geben Sie den folgenden Befehl ein, um die Beschreibung von mydataset
in "Description of mydataset" (Beschreibung von mydataset) zu ändern. Das Dataset befindet sich nicht in Ihrem Standardprojekt, sondern in myotherproject
.
bq update \
--description "Description of mydataset" \
myotherproject:mydataset
API
Rufen Sie datasets.patch
auf und aktualisieren Sie in der Dataset-Ressource das Attribut description
.
Da die Methode datasets.update
die gesamte Dataset-Ressource ersetzt, wird die Methode datasets.patch
bevorzugt.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Erstellen Sie mit der Methode Dataset.toBuilder() eine Dataset.Builder-Instanz aus einer vorhandenen Dataset-Instanz. Konfigurieren Sie das Dataset.Builder-Objekt. Erstellen Sie das aktualisierte Dataset mit der Methode Dataset.Builder.build() und senden Sie die Aktualisierung mit der Methode Dataset.update() an die API.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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Konfigurieren Sie das Attribut Dataset.description und senden Sie die Aktualisierung durch Aufrufen der Methode Client.update_dataset() an die API.Standardablaufzeiten von Tabellen aktualisieren
Sie können die Standardablaufzeit für Tabellen eines Datasets so aktualisieren:
- Google Cloud Console verwenden
- Den Befehl
bq update
des bq-Befehlszeilentools verwenden - Durch Aufruf der API-Methode
datasets.patch
- Mithilfe der Clientbibliotheken
Sie können Standardablaufzeiten für Tabellen auf Dataset-Ebene festlegen oder die Ablaufzeit bei Erstellung der Tabelle festlegen. Wenn Sie die Ablaufzeit einer Tabelle bei ihrer Erstellung festlegen, wird die für das Dataset gültige Standardablaufzeit für Tabellen ignoriert. Wenn Sie keine Standardablaufzeit für Tabellen auf Dataset-Ebene und keine Ablaufzeit beim Erstellen der Tabelle festlegen, läuft die Tabelle nie ab und Sie müssen die Tabelle manuell löschen. Wenn eine Tabelle abläuft, wird sie mit allen enthaltenen Daten gelöscht.
Wenn Sie die Einstellung der Standardablaufzeit eines Datasets aktualisieren, gilt:
- Wenn Sie den Wert von
Never
in eine bestimmte Ablaufzeit ändern, laufen bereits im Dataset vorhandene Tabellen nur dann ab, wenn die Ablaufzeit für die Tabelle bei deren Erstellung festgelegt wurde. - Wenn Sie den Wert der Standardablaufzeit für Tabellen ändern, laufen bereits vorhandene Tabellen entsprechend der ursprünglichen Tabellenablaufeinstellung ab. Die neue Ablaufzeiteinstellung wird auf alle neu erstellten Tabellen angewendet, wenn Sie bei der Erstellung der jeweiligen Tabelle keine andere Tabellenablaufzeit angeben.
Der Wert der Standardablaufzeit wird je nachdem, mit welcher Methode der Wert festgelegt wird, unterschiedlich ausgedrückt. Verwenden Sie die Methode, die Ihnen die gewünschte Genauigkeit bietet:
- In der Google Cloud Console wird die Ablaufzeit in Tagen angegeben.
- Im bq-Befehlszeilentool wird die Ablaufzeit in Sekunden angegeben.
- In der API wird die Ablaufzeit in Millisekunden angegeben
So aktualisieren Sie die Standardablaufzeit für ein Dataset:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Option
Aktionen und klicken Sie auf Öffnen.Klicken Sie im Bereich "Details" auf das Stiftsymbol neben Dataset-Informationen, um die Ablaufzeit zu bearbeiten.
Geben Sie im Dialog Dataset info im Bereich Default table expiration (Standard-Tabellenablaufzeit) einen Wert für Number of days after table creation (Anzahl der Tage nach der Tabellenerstellung) ein.
Klicken Sie auf Speichern.
SQL
Zum Aktualisieren der Standardablaufzeit für Tabellen verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS
, um die Option default_table_expiration_days
festzulegen.
Im folgenden Beispiel wird die Standardablaufzeit für Tabellen für das Dataset mydataset
aktualisiert.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER SCHEMA mydataset SET OPTIONS( default_table_expiration_days = 3.75);
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
bq
Um die Standardablaufzeit neu erstellter Tabellen eines Datasets zu aktualisieren, geben Sie den Befehl bq update
mit dem Flag --default_table_expiration
ein.
Wenn Sie ein Dataset 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 \ --default_table_expiration integer \ project_id:dataset
Ersetzen Sie dabei Folgendes:
integer
: die Standardlebensdauer neu erstellter Tabellen in Sekunden. Der Mindestwert beträgt 3.600 Sekunden (eine Stunde). Die Ablaufzeit entspricht der aktuellen UTC-Zeit plus dem ganzzahligen Wert. Wenn Sie die vorhandene Ablaufzeit entfernen möchten, geben Sie0
ein. Jede im Dataset erstellte Tabelle wirdinteger
Sekunden nach dem Erstellen gelöscht. Dieser Wert wird angewendet, wenn Sie beim Erstellen der Tabelle keine Ablaufzeit für die Tabelle festlegen.project_id
: Ihre Projekt-ID.dataset
: der Name des Datasets, das Sie aktualisieren.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Standardablaufzeit für neue, in mydataset
erstellte Tabellen in zwei Stunden (7.200 Sekunden) ab der aktuellen Uhrzeit zu ändern. Das Dataset ist im Standardprojekt.
bq update --default_table_expiration 7200 mydataset
Geben Sie den folgenden Befehl ein, um die Standardablaufzeit für neue, in mydataset
erstellte Tabellen in zwei Stunden (7.200 Sekunden) ab der aktuellen Uhrzeit zu ändern. Das Dataset ist in myotherproject
und nicht im Standardprojekt.
bq update --default_table_expiration 7200 myotherproject:mydataset
API
Rufen Sie datasets.patch
auf und aktualisieren Sie in der Dataset-Ressource das Attribut defaultTableExpirationMs
.
Die Ablaufzeit wird mit der API in Millisekunden angegeben. Da die Methode datasets.update
die gesamte Dataset-Ressource ersetzt, wird die Methode datasets.patch
bevorzugt.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Erstellen Sie mit der Methode Dataset.toBuilder() eine Dataset.Builder-Instanz aus einer vorhandenen Dataset-Instanz. Konfigurieren Sie das Dataset.Builder-Objekt. Erstellen Sie das aktualisierte Dataset mit der Methode Dataset.Builder.build() und senden Sie die Aktualisierung mit der Methode Dataset.update() an die API.Konfigurieren Sie die Standardablaufzeit mit der Methode Dataset.setDefaultTableLifetime().
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Konfigurieren Sie das Attribut Dataset.default_table_expiration_ms und senden Sie die Aktualisierung durch Aufrufen der Methode Client.update_dataset() an die API.Standardablaufzeiten von Partitionen aktualisieren
Sie können die Standardablaufzeit für Partitionen eines Datasets folgendermaßen aktualisieren:
- Den Befehl
bq update
des bq-Befehlszeilentools verwenden - Durch Aufruf der API-Methode
datasets.patch
- Mithilfe der Clientbibliotheken
Das Festlegen oder Aktualisieren der Standardablaufzeit für Partitionen eines Datasets wird derzeit von der Google Cloud Console nicht unterstützt.
Auf Dataset-Ebene lässt sich eine Standardablaufzeit für Partitionen festlegen, die dann für alle neu erstellten partitionierten Tabellen gilt. Alternativ können Sie beim Erstellen der partitionierten Tabellen einen Partitionsablauf für einzelne Tabellen angeben. Wenn Sie eine Standardablaufzeit für Partitionen und eine Standardablaufzeit für Tabellen jeweils auf Dataset-Ebene festlegen, gilt für neue partitionierte Tabellen nur der Partitionsablauf. Wenn beide Optionen festgelegt sind, hat die Standardablaufzeit für Partitionen Vorrang vor der Standardablaufzeit für Tabellen.
Wenn Sie die Ablaufzeit für Partitionen beim Erstellen der partitionierten Tabelle festlegen, ersetzt dieser Wert die Standardablaufzeit für Partitionen auf Dataset-Ebene, falls vorhanden.
Wenn Sie keine Standardablaufzeit für Partitionen auf Dataset-Ebene und keine Ablaufzeit für Partitionen beim Erstellen der Tabelle festlegen, sind Partitionen unbegrenzt gültig. Sie müssen die Partitionen dann manuell löschen.
Wenn Sie eine Standardablaufzeit für Partitionen für ein Dataset festlegen, gilt die Ablaufzeit für alle Partitionen in allen partitionierten Tabellen des Datasets. Wenn Sie die Ablaufzeit für Partitionen für eine Tabelle festlegen, gilt diese für alle Partitionen, die in der angegebenen Tabelle erstellt wurden. Derzeit können Sie keine unterschiedlichen Ablaufzeiten auf verschiedene Partitionen in derselben Tabelle anwenden.
Wenn Sie die Einstellung der Standardablaufzeit für Partitionen eines Datasets aktualisieren, gilt Folgendes:
- Wenn Sie den Wert von
never
in eine bestimmte Ablaufzeit ändern, laufen Partitionen, die in partitionierten Tabellen im Dataset bereits vorhanden sind, nur dann ab, wenn eine Ablaufzeit für Partitionen bei der Erstellung der Tabelle festgelegt wurde. - Wenn Sie den Wert für die Standardablaufzeit für Partitionen ändern, laufen alle Partitionen in vorhandenen partitionierten Tabellen gemäß der ursprünglichen Standardablaufzeit für Partitionen ab. Für alle neuen partitionierten Tabellen, die im Dataset erstellt werden, gilt die neue Einstellung für die Standardablaufzeit für Partitionen, solange Sie bei der Erstellung der Tabelle keine andere Partitionsablaufzeit festlegen.
Der Wert für die Standardablaufzeit für Partitionen wird, je nachdem mit welcher Methode er festgelegt wird, in unterschiedlichen Formaten angegeben. Verwenden Sie die Methode, die Ihnen die gewünschte Genauigkeit bietet:
- Im bq-Befehlszeilentool wird die Ablaufzeit in Sekunden angegeben.
- In der API wird die Ablaufzeit in Millisekunden angegeben
So aktualisieren Sie die Standardablaufzeit für Partitionen für ein Dataset:
Console
Das Aktualisieren der Standardablaufzeit für Partitionen in einem Dataset wird von der Google Cloud Console derzeit nicht unterstützt.
SQL
Zum Aktualisieren der Standardablaufzeit für Partitionen verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS
, um die Option default_partition_expiration_days
festzulegen.
Im folgenden Beispiel wird die Standardablaufzeit für Partitionen für ein Dataset mit dem Namen mydataset
aktualisiert:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER SCHEMA mydataset SET OPTIONS( default_partition_expiration_days = 3.75);
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
bq
Zum Aktualisieren der Standardablaufzeit für ein Dataset geben Sie den Befehl bq update
mit dem Flag --default_partition_expiration
ein. Wenn Sie ein Dataset 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 \ --default_partition_expiration integer \ project_id:dataset
Ersetzen Sie dabei Folgendes:
integer
: die Standardlebensdauer von Partitionen in neu erstellten partitionierten Tabellen in Sekunden. Für dieses Flag gilt kein Mindestwert. Wenn Sie die vorhandene Ablaufzeit entfernen möchten, geben Sie0
ein. Alle Partitionen in neu erstellten partitionierten Tabellen werdeninteger
Sekunden nach dem UTC-Datum der Partition gelöscht. Dieser Wert wird angewendet, wenn Sie beim Erstellen der Tabelle keine Ablaufzeit für Partitionen festlegen.project_id
: Ihre Projekt-ID.dataset
: der Name des Datasets, das Sie aktualisieren.
Beispiele:
Mit dem folgenden Befehl legen Sie die Standardablaufzeit für Partitionen für neue partitionierte Tabellen in mydataset
auf 26 Stunden (93.600 Sekunden) fest.
Das Dataset ist im Standardprojekt.
bq update --default_partition_expiration 93600 mydataset
Mit dem folgenden Befehl legen Sie die Standardablaufzeit für Partitionen für neue partitionierte Tabellen in mydataset
auf 26 Stunden (93.600 Sekunden) fest.
Das Dataset ist in myotherproject
und nicht im Standardprojekt.
bq update --default_partition_expiration 93600 myotherproject:mydataset
API
Rufen Sie datasets.patch
auf und aktualisieren Sie in der Dataset-Ressource das Attribut defaultPartitionExpirationMs
.
Die Ablaufzeit wird in Millisekunden angegeben. Da die Methode datasets.update
die gesamte Dataset-Ressource ersetzt, wird die Methode datasets.patch
bevorzugt.
Rundungsmodus aktualisieren
Sie können den Standard-Rundungsmodus eines Datasets mithilfe der DDL-Anweisung ALTER SCHEMA SET OPTIONS
aktualisieren.
Im folgenden Beispiel wird der Standard-Rundungsmodus für mydataset
auf ROUND_HALF_EVEN
aktualisiert.
ALTER SCHEMA mydataset SET OPTIONS ( default_rounding_mode = "ROUND_HALF_EVEN");
Dies legt den Standard-Rundungsmodus für neue Tabellen fest, die im Dataset erstellt werden. Es hat keine Auswirkungen auf neue Spalten, die zu vorhandenen Tabellen hinzugefügt werden. Durch das Festlegen des Standard-Rundungsmodus für eine Tabelle im Dataset wird diese Option überschrieben.
Dataset-Zugriffssteuerungen aktualisieren
Das Verfahren zum Aktualisieren der Zugriffssteuerungen eines Datasets ähnelt sehr dem zum Zuweisen von Zugriffssteuerungen zu einem Dataset. Zugriffssteuerungen können nicht während der Dataset-Erstellung mit der Google Cloud Console oder dem bq-Befehlszeilentool angewendet werden. Sie müssen zuerst das Dataset erstellen und dann die Zugriffssteuerungen des Datasets aktualisieren. Mit der API können Dataset-Zugriffssteuerungen durch Aufrufen der Methode datasets.patch aktualisiert werden.
Wenn Sie die Zugriffssteuerungen für ein Dataset aktualisieren, können Sie den Zugriff für die folgenden Entitäten ändern:
IAM-Hauptkonten:
- Google Konto e-mail: Gewährt einem einzelnen Google-Konto Zugriff auf das Dataset
- Google Group: Gewährt allen Mitgliedern einer Google-Gruppe Zugriff auf das Dataset
- Google Apps-Domain: Gewährt allen Nutzern und Gruppen in einer Google-Domain Zugriff auf das Dataset.
- Dienstkonto: Gewährt einem Dienstkonto Zugriff auf das Dataset.
- Alle Nutzer: Geben Sie
allUsers
ein, um den Zugriff der Allgemeinheit zu gewähren. - Alle Google-Konten: Geben Sie
allAuthenticatedUsers
ein, wenn Sie allen bei einem Google-Konto angemeldeten Nutzern den Zugriff gewähren möchten
Ressourcentypen:
- Autorisierte Datasets: Gewährt einem autorisierten Dataset Zugriff auf das Dataset.
- Autorisierte Ansichten: Gewährt einer autorisierten Ansicht Zugriff auf das Dataset.
- Autorisierte Funktionen: Gewährt einer autorisierten UDF oder Tabellenfunktion Zugriff auf das Dataset.
So aktualisieren Sie Zugriffssteuerungen für ein Dataset:
Console
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Option
Aktionen und klicken Sie auf Öffnen.Klicken Sie auf Share Dataset (Dataset freigeben).
Wenn Sie im Dialogfeld Dataset freigeben vorhandene Einträge löschen möchten, maximieren Sie den jeweiligen Eintrag und klicken Sie auf das Symbol zum Löschen (Papierkorbsymbol).
So fügen Sie im Dialogfeld Dataset freigeben neue Einträge hinzu:
Geben Sie die Entität in das Feld Hauptkonten hinzufügen ein.
Wählen Sie unter Rolle auswählen die entsprechende IAM-Rolle aus der Liste aus. Weitere Informationen zu den Berechtigungen, die jeder vordefinierten BigQuery-Rolle zugewiesen sind, finden Sie auf der Seite Vordefinierte Rollen und Berechtigungen.
Klicken Sie auf Hinzufügen.
Zum Hinzufügen einer autorisierten Ansicht klicken Sie auf den Tab Autorisierte Ansicht und geben das Projekt, das Dataset und die Ansicht ein. Klicken Sie anschließend auf Hinzufügen.
Nachdem Sie Zugriffssteuerungen hinzugefügt oder gelöscht haben, klicken Sie auf Fertig.
bq
Schreiben Sie die vorhandenen Dataset-Informationen (einschließlich Zugriffssteuerungen) mit dem Befehl
show
in eine JSON-Datei. Wenn sich das Dataset in einem anderen Projekt als Ihrem Standardprojekt befindet, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu:project_id:dataset
.bq show \ --format=prettyjson \ project_id:dataset > path_to_file
Ersetzen Sie dabei Folgendes:
project_id
: Ihre Projekt-ID.dataset
: der Name Ihres Datasets.path_to_file
: der Pfad zur JSON-Datei auf dem lokalen Computer.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Zugriffssteuerungen für
mydataset
in eine JSON-Datei zu schreiben.mydataset
befindet sich in Ihrem Standardprojekt.bq show --format=prettyjson mydataset > /tmp/mydataset.json
Geben Sie den folgenden Befehl ein, um die Zugriffssteuerungen für
mydataset
in eine JSON-Datei zu schreiben.mydataset
befindet sich inmyotherproject
.bq show --format=prettyjson \ myotherproject:mydataset > /tmp/mydataset.json
Nehmen Sie die Änderungen im Abschnitt
"access"
der JSON-Datei vor. Sie könnenspecialGroup
-Einträge beliebig einfügen oder entfernen:projectOwners
,projectWriters
,projectReaders
undallAuthenticatedUsers
. Außerdem können Sie folgende Einträge angeben, entfernen oder ändern:userByEmail
,groupByEmail
unddomain
.Der Abschnitt "access" der JSON-Datei eines Datasets sieht zum Beispiel so aus:
{ "access": [ { "role": "READER", "specialGroup": "projectReaders" }, { "role": "WRITER", "specialGroup": "projectWriters" }, { "role": "OWNER", "specialGroup": "projectOwners" } { "role": "READER", "specialGroup": "allAuthenticatedUsers" } { "role": "READER", "domain": "[DOMAIN_NAME]" } { "role": "WRITER", "userByEmail": "[USER_EMAIL]" } { "role": "READER", "groupByEmail": "[GROUP_EMAIL]" } ], }
Wenn die Änderungen abgeschlossen sind, führen Sie den Befehl
update
aus und fügen mit dem Flag--source
die JSON-Datei hinzu. Wenn sich das Dataset in einem anderen Projekt als Ihrem Standardprojekt befindet, fügen Sie dem Dataset-Namen die Projekt-ID im folgenden Format hinzu:project_id:dataset
.bq update --source path_to_file project_id:dataset
Ersetzen Sie dabei Folgendes:
path_to_file
: der Pfad zur JSON-Datei auf dem lokalen Computer.project_id
: Ihre Projekt-ID.dataset
: der Name Ihres Datasets.
Beispiele:
Geben Sie den folgenden Befehl ein, um die Zugriffssteuerungen für
mydataset
zu aktualisieren.mydataset
befindet sich in Ihrem Standardprojekt.bq update --source /tmp/mydataset.json mydataset
Geben Sie den folgenden Befehl ein, um die Zugriffssteuerungen für
mydataset
zu aktualisieren.mydataset
befindet sich inmyotherproject
.bq update --source /tmp/mydataset.json myotherproject:mydataset
Geben Sie den Befehl
show
noch einmal ein, ohne die Informationen in eine Datei zu schreiben, um die Änderungen der Zugriffssteuerung zu prüfen.bq show --format=prettyjson dataset
oder
bq show --format=prettyjson project_id:dataset
API
Rufen Sie datasets.patch
auf und aktualisieren Sie das Attribut access
in der Dataset-Ressource.
Da die Methode datasets.update
die gesamte Dataset-Ressource ersetzt, ist datasets.patch
die bevorzugte Methode zum Aktualisieren von Zugriffssteuerungen.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Erstellen Sie mit der Methode Dataset.toBuilder() eine Dataset.Builder-Instanz aus einer vorhandenen Dataset-Instanz. Konfigurieren Sie das Dataset.Builder-Objekt. Erstellen Sie das aktualisierte Dataset mit der Methode Dataset.Builder.build() und senden Sie die Aktualisierung mit der Methode Dataset.update() an die API.Konfigurieren Sie die Zugriffssteuerungen mit der Methode Dataset.Builder.setAcl().
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
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.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Das Attribut dataset.access_entries legen Sie mit den Zugriffssteuerungen für ein Dataset fest. Rufen Sie dann die Funktion client.update_dataset() auf, um das Attribut zu aktualisieren.Zeitreisefenster aktualisieren
Sie können das Zeitreisefenster eines Datasets auf folgende Arten aktualisieren:
- Google Cloud Console verwenden
- Anweisung
ALTER SCHEMA SET OPTIONS
verwenden - Den Befehl
bq update
des bq-Befehlszeilentools verwenden. - Durch Aufrufen der API-Methode
datasets.patch
oderdatasets.update
Die Methodeupdate
ersetzt die gesamte Dataset-Ressource, während die Methodepatch
nur Felder ersetzt, die in der gesendeten Dataset-Ressource bereitgestellt werden.
Weitere Informationen zum Zeitreisefenster finden Sie unter Zeitreisefenster konfigurieren.
So aktualisieren Sie das Zeitreisefenster für ein Dataset:
Console
- Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
- Maximieren Sie die Option Aktionen und klicken Sie auf Öffnen.
- Klicken Sie im Steuerfeld Details auf Details bearbeiten.
- Maximieren Sie Erweiterte Optionen und wählen Sie das gewünschte Zeitreisefenster aus.
- Klicken Sie auf Speichern.
SQL
Verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS
mit der Option max_time_travel_hours
, um das Zeitreisefenster beim Ändern eines Datasets anzugeben. Der Wert max_time_travel_hours
muss eine Ganzzahl sein, die als Vielfaches von 24 (48, 72, 96, 120, 144, 168) zwischen 48 (2 Tagen) und 168 (7 Tage) ausgedrückt wird.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER SCHEMA DATASET_NAME SET OPTIONS( max_time_travel_hours = HOURS);
Ersetzen Sie Folgendes:
DATASET_NAME
: der Name des Datasets, das Sie aktualisieren.HOURS
durch die Dauer des Zeitreisefensters in Stunden.
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
bq
Verwenden Sie den Befehl bq update
mit dem Flag --max_time_travel_hours
, um das Zeitreisefenster beim Ändern eines Datasets anzugeben. Der Wert --max_time_travel_hours
muss eine Ganzzahl sein, die als Vielfaches von 24 (48, 72, 96, 120, 144, 168) zwischen 48 (2 Tagen) und 168 (7 Tage) ausgedrückt wird.
bq update \
--dataset=true --max_time_travel_hours=HOURS \
PROJECT_ID:DATASET_NAME
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.DATASET_NAME
: der Name des Datasets, das Sie aktualisieren.HOURS
durch die Dauer des Zeitreisefensters in Stunden
API
Rufen Sie die Methode datasets.patch
oder datasets.update
mit einer definierten Dataset-Ressource auf, in der Sie einen Wert für das Feld maxTimeTravelHours
angegeben haben. Der Wert maxTimeTravelHours
muss eine Ganzzahl sein, die als Vielfaches von 24 (48, 72, 96, 120, 144, 168) zwischen 48 (2 Tagen) und 168 (7 Tage) ausgedrückt wird.
Speicherabrechnungsmodelle aktualisieren
Sie können das Speicherabrechnungsmodell für ein Dataset ändern. Legen Sie den Wert storage_billing_model
auf PHYSICAL
fest, um physische Byte bei der Berechnung der Speicheränderungen zu verwenden, oder auf LOGICAL
, um logische Byte zu verwenden. Standardmäßig ist LOGICAL
ausgewählt.
Wenn Sie das Abrechnungsmodell eines Datasets ändern, dauert es 24 Stunden, bis die Änderung wirksam wird.
Nachdem Sie das Speicherabrechnungsmodell eines Datasets geändert haben, müssen Sie 14 Tage warten, bevor Sie das Speicherabrechnungsmodell wieder ändern können.
Console
- Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
- Maximieren Sie die Option Aktionen und klicken Sie auf Öffnen.
- Klicken Sie im Steuerfeld Details auf Details bearbeiten.
- Maximieren Sie Erweiterte Optionen und wählen Sie dann physisches Speicherabrechnungsmodell aktivieren aus, um die physische Speicherabrechnung zu verwenden, oder deaktivieren Sie es für die logische Speicherabrechnung.
- Klicken Sie auf Speichern.
SQL
Verwenden Sie zum Aktualisieren des Abrechnungsmodells für ein Dataset die Anweisung ALTER SCHEMA SET OPTIONS
und legen Sie die Option storage_billing_model
fest:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
ALTER SCHEMA DATASET_NAME SET OPTIONS( storage_billing_model = 'BILLING_MODEL');
Ersetzen Sie Folgendes:
DATASET_NAME
durch den Namen des Datasets, das Sie ändernBILLING_MODEL
durch den gewünschten Speichertyp, entwederLOGICAL
oderPHYSICAL
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Verwenden Sie die folgende SQL-Abfrage für jede Region, in der sich Datasets befinden, um das Speicherabrechnungsmodell für alle Datasets in einem Projekt zu aktualisieren:
FOR record IN (SELECT CONCAT(catalog_name, '.', schema_name) AS dataset_path FROM PROJECT_ID.region-REGION.INFORMATION_SCHEMA.SCHEMATA) DO EXECUTE IMMEDIATE "ALTER SCHEMA `" || record.dataset_path || "` SET OPTIONS(storage_billing_model = 'BILLING_MODEL')"; END FOR;
Ersetzen Sie dabei Folgendes:
PROJECT_ID
durch Ihre Projekt-IDREGION
mit einem Regions-QualifierBILLING_MODEL
durch den gewünschten Speichertyp, entwederLOGICAL
oderPHYSICAL
bq
Verwenden Sie zum Aktualisieren des Abrechnungsmodells für ein Dataset den Befehl bq update
und legen Sie das Flag --storage_billing_model
fest:
bq update -d --storage_billing_model=BILLING_MODEL PROJECT_ID:DATASET_NAME
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.DATASET_NAME
: der Name des Datasets, das Sie aktualisieren.BILLING_MODEL
: der gewünschte Speichertyp, entwederLOGICAL
oderPHYSICAL
API
Rufen Sie die Methode datasets.update
mit einer definierten Dataset-Ressource auf, wobei das Feld storageBillingModel
festgelegt ist.
Das folgende Beispiel zeigt, wie datasets.update
mit curl
aufgerufen wird:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PUT https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID -d '{"datasetReference": {"projectId": "PROJECT_ID", "datasetId": "DATASET_NAME"}, "storageBillingModel": "BILLING_MODEL"}'
Dabei gilt:
PROJECT_ID
: Ihre Projekt-ID.DATASET_NAME
: der Name des Datasets, das Sie aktualisieren.BILLING_MODEL
: der gewünschte Speichertyp, entwederLOGICAL
oderPHYSICAL
Dataset-Sicherheit
Informationen zum Steuern des Zugriffs auf Datasets in BigQuery finden Sie unter Zugriff auf Datasets steuern. Informationen zur Datenverschlüsselung finden Sie unter Verschlüsselung inaktiver Daten.
Nächste Schritte
- Weitere Informationen zum Erstellen von Datasets finden Sie unter Datasets erstellen.
- Weitere Informationen zum Verwalten von Datasets finden Sie unter Datasets verwalten