Referenz zum bq-Befehlszeilentool

In diesem Dokument werden die Syntax, Befehle, Flags und Argumente für das BigQuery-Befehlszeilentool bq beschrieben. Es richtet sich an Nutzer, die mit BigQuery vertraut sind, aber wissen möchten, wie ein bestimmter Befehl des bq-Befehlszeilentools verwendet wird. Allgemeine Informationen zur Verwendung des bq-Befehlszeilentools finden Sie unter bq-Befehlszeilentool verwenden.

Zusammenfassung

Das bq-Befehlszeilentool hat das folgende Format:

bq COMMAND [FLAGS] [ARGUMENTS]

Einige Flags können mit mehreren Befehlen des bq-Befehlszeilentools verwendet werden. Diese Flags werden im Abschnitt Globale Flags beschrieben.

Andere Flags sind befehlsspezifisch – sie können nur mit einem bestimmten Befehl des bq-Befehlszeilentools verwendet werden. Die befehlsspezifischen Flags werden in den Befehlsabschnitten beschrieben.

Boolesche Flags

Einige Flags für das bq-Befehlszeilentool sind boolesch; Sie können den Wert des Flags auf true oder false setzen. Das bq-Befehlszeilentool akzeptiert die folgenden Formate zum Festlegen von booleschen Flags.

Wert Format Beispiel
true --FLAGNAME=true --debug=true
true --FLAGNAME --debug
false --FLAGNAME=false --debug=false
false --noFLAGNAME --nodebug

In diesem Dokument wird für boolesche Flags das Format --FLAGNAME=VALUE verwendet.

Alle booleschen Flags sind optional. Wenn kein boolesches Flag vorhanden ist, verwendet BigQuery den Standardwert des Flags.

Werte für Flags angeben

Wenn Sie einen Wert für ein Flag festlegen, ist das Gleichheitszeichen = optional. Die folgenden beiden Befehle entsprechen beispielsweise einander:

bq ls --format prettyjson=myDataset
bq ls --format=prettyjson myDataset

In diesem Dokument wird zur Verdeutlichung das Gleichheitszeichen verwendet.

Onlinehilfe

Dokumentation im bq-Befehlszeilentool ist so verfügbar:

Beschreibung Format des Hilfebefehls Beispiel
Liste aller Befehle mit Beispielen bq help bq help
Beschreibung der globalen Flags bq --help bq --help
Beschreibung eines bestimmten Befehls bq help COMMAND bq help mk

Ressourcenspezifikation

Das Format für die Angabe einer Ressource hängt vom Kontext ab. In einigen Fällen ist das Trennzeichen zwischen Projekt und Dataset ein Doppelpunkt (:) und in einigen Fällen ist es ein Punkt (.). In der folgenden Tabelle wird beschrieben, wie Sie eine BigQuery-Tabelle in verschiedenen Kontexten angeben.

Kontext Format Beispiel
bq-Befehlszeilentool PROJECT:DATASET.TABLE myProject:myDataset.myTable
Standard-SQL-Abfrage PROJECT.DATASET.TABLE myProject.myDataset.myTable
Legacy-SQL-Abfrage PROJECT:DATASET.TABLE myProject:myDataset.myTable

Wenn Sie kein Projekt angeben, verwendet BigQuery das aktuelle Projekt. Wenn das aktuelle Projekt beispielsweise myProject ist, interpretiert BigQuery myDataset.myTable als myProject:myDataset.myTable (oder myProject.myDataset.myTable).

Einige Ressourcen-IDs müssen in Graviszeichen (`) gesetzt werden. Wenn die Ressourcenkennzeichnung mit einem Buchstaben oder einem Unterstrich beginnt und nur Zeichen enthält, die aus Buchstaben, Ziffern und Unterstrichen bestehen, müssen Sie sie nicht hervorheben. Wenn Ihre Ressourcen-ID jedoch andere Zeichen oder reservierte Schlüsselwörter enthält, müssen Sie die ID (oder den Teil der ID mit den Sonderzeichen oder reservierten Schlüsselwörtern) mit Graviszeichen umschließen. Weitere Informationen finden Sie unter Kennungen.

Globale Flags

Sie können, falls zutreffend, die mit jedem bq-Befehl die folgenden Flags verwenden:

--api=ENDPOINT
Gibt den API-Endpunkt an, der aufgerufen werden soll. Der Standardwert ist https://www.googleapis.com.
--api_version=VERSION
Gibt die zu verwendende API-Version an. Der Standardwert ist v2.
--apilog=FILE

Loggt alle API-Anfragen und -Antworten in der von FILE angegebenen Datei. Folgende Werte sind möglich:

  • Der Pfad zu einer Datei – Logs werden in der angegebene Datei erfasst
  • stdout: API-Anfragen und -Antworten werden in der Standardausgabe geloggt
  • stderr: API-Anfragen und -Antworten werden im Standardfehler geloggt
  • false: API-Anfragen und -Antworten werden nicht geloggt (Standard)
--bigqueryrc=PATH

Gibt den Pfad zur Konfigurationsdatei des bq-Befehlszeilentools an. Wenn Sie das Flag --bigqueryrc nicht angeben, verwendet der Befehl die Umgebungsvariable BIGQUERYRC. Wenn die Umgebungsvariable nicht festgelegt ist, wird $HOME/.bigqueryrc verwendet. Wenn diese Datei nicht vorhanden ist, wird ~/.bigqueryrc verwendet. Weitere Informationen finden Sie unter Standardwerte für Befehlszeilen-Flags festlegen.

--ca_certificates_file=PATH

Gibt den Speicherort der CA-Datei (Certificate Authority Service) an.

--dataset_id=DATASET_ID

Gibt das Standard-Dataset an, das mit dem Befehl verwendet werden soll. Dieses Flag wird ignoriert, wenn es nicht anwendbar ist. Sie können das Argument DATASET_ID im Format PROJECT:DATASET oder DATASET angeben. Wenn der Teil PROJECT fehlt, wird das Standardprojekt verwendet. Sie können die Standardprojekteinstellung durch Angabe des Flags --project_id überschreiben.

--debug_mode={true|false}

Wenn auf true festgelegt, werden Tracebacks für Python-Ausnahmen angezeigt. Der Standardwert ist false.

--disable_ssl_validation={true|false}

Wenn auf true festgelegt, wird die HTTPS-Zertifikatsprüfung aktiviert. Der Standardwert ist false.

--discovery_file=PATH

Gibt die JSON-Datei an, die für die Erkennung gelesen werden soll.

--enable_gdrive={true|false}

Wenn auf false festgelegt, wird ein neues OAuth-Token ohne Drive-Bereich angefordert. Der Standardwert ist true, mit dem ein neues OAuth-Token mit dem Drive-Bereich angefordert wird.

--fingerprint_job_id={true|false}

Wenn Sie eine Job-ID verwenden möchten, die von einem Fingerabdruck der Jobkonfiguration abgeleitet wird, legen Sie true fest. Dadurch wird verhindert, dass derselbe Job versehentlich mehrmals ausgeführt wird. Der Standardwert ist false.

--format=FORMAT

Gibt das Format der Ausgabe des Befehls an. Verwenden Sie einen der folgenden Werte:

  • pretty: Formatierte Tabellenausgabe
  • sparse: Einfachere Tabellenausgabe
  • prettyjson: Leicht lesbares JSON-Format
  • json: Maximal komprimiertes JSON
  • csv: CSV-Format mit Header

pretty, sparse und prettyjson sind für Menschen lesbar. json und csv sind für die Verwendung durch ein anderes Programm vorgesehen. Wenn none angegeben ist, erzeugt der Befehl keine Ausgabe. Wenn das Flag --format fehlt, wird basierend auf dem Befehl ein geeignetes Ausgabeformat ausgewählt.

--headless={true|false}

Legen Sie true fest, um die bq-Sitzung ohne Nutzerinteraktion auszuführen. So wird beispielsweise der Debugger durch debug_mode nicht unterbrochen, und die Häufigkeit des Informationsdrucks verringert sich. Der Standardwert ist false.

--httplib2_debuglevel=DEBUG_LEVEL

Gibt an, ob HTTP-Informationen zur Fehlerbehebung angezeigt werden sollen. Wenn DEBUG_LEVEL größer als 0 ist, loggt der Befehl zusätzlich zu Fehlermeldungen HTTP-Serveranfragen und -Antworten an stderr. Wenn DEBUG_LEVEL nicht > 0 ist oder wenn das Flag --httplib2_debuglevel nicht verwendet wird, werden nur Fehlermeldungen angezeigt.

Beispiel:

--httplib2_debuglevel=1

--job_id=JOB_ID

Gibt eine Jobkennung für einen neuen Job an. Dieses Flag gilt nur für Befehle, die Jobs erstellen: cp, extract, load und query. Wenn Sie das Flag --job_id nicht verwenden, generieren die Befehle eine eindeutige Jobkennung. Weitere Informationen finden Sie unter Jobs programmatisch ausführen.

--job_property=KEY:VALUE

Ein Schlüssel/Wert-Paar, das in das Feld für Attribute in der Jobkonfiguration aufgenommen werden soll. Definieren Sie dieses Flag wiederholt, um weitere Attribute anzugeben.

--location=LOCATION

Ein String, der Ihrer Region oder Ihrem multiregionalen Standort entspricht. Für den Befehl bq cancel und den Befehl bq show ist das Standort-Flag erforderlich, wenn Sie das Flag --jobs zum Abrufen von Jobinformationen verwenden. Für die folgenden Befehle ist das Standort-Flag optional:

Alle anderen Befehle ignorieren das Flag --location.

--max_rows_per_request=MAX_ROWS

Eine Ganzzahl, die die maximale Anzahl von Zeilen angibt, die pro Lesevorgang zurückgegeben werden.

--project_id=PROJECT

Gibt das Projekt an, das für Befehle verwendet werden soll.

--proxy_address=PROXY

Gibt den Namen oder die IP-Adresse des Proxyhosts an, der für die Verbindung mit Google Cloud verwendet werden soll.

--proxy_password=PASSWORD

Gibt das Passwort an, das zur Authentifizierung beim Proxyhost verwendet werden soll.

--proxy_port=PORT

Gibt die Portnummer zum Herstellen der Verbindung mit dem Proxyhost an.

--proxy_username=USERNAME

Gibt den Nutzernamen für die Authentifizierung beim Proxyhost an.

--quiet={true|false} oder -q={true|false}

Legen Sie true fest, um Statusaktualisierungen während der Ausführung von Jobs zu unterdrücken. Der Standardwert ist false.

--synchronous_mode={true|false} oder -sync={true|false}

Legen Sie false fest, um den Job zu erstellen und sofort einen erfolgreichen Abschlussstatus als Fehlercode zurückzugeben. Wenn dieses Flag auf true festgelegt ist, wartet der Befehl mit der Rückgabe, bis der Job abgeschlossen ist, und gibt den Abschlussstatus des Jobs als Fehlercode zurück. Der Standardwert ist true.

--trace=token:TOKEN

Gibt ein Tracing-Token zur Einbindung in API-Anfragen an.

Verworfene globale Flags

Die folgenden globalen Flags zum Konfigurieren der Autorisierung des bq-Befehlszeilentools wurden verworfen. Informationen zum Konfigurieren der Autorisierung für das bq-Befehlszeilentool finden Sie unter Cloud SDK-Tools autorisieren.

--application_default_credential_file

Weitere Informationen finden Sie unter Authentifizierung als Dienstkonto. Der Standardwert ist ''.

--credential_file

Der Dateiname, der zum Speichern des OAuth-Tokens verwendet wird. Der Standardwert ist $HOME/.bigquery.v2.token.

--service_account

Gibt eine E-Mail-Adresse für das Dienstkonto an, die für die Autorisierung verwendet werden soll. Beispiel:

        1234567890@developer.gserviceaccount.com
        
.

--service_account_credential_file

Die Datei, die als Anmeldedatenspeicher für Dienstkonten verwendet wird. Dieses Flag ist erforderlich, wenn Sie ein Dienstkonto verwenden.

--service_account_private_key_file

Die Datei, die den privaten Schlüssel des Dienstkontos enthält. Dieses Flag ist erforderlich, wenn das Flag --service_account angegeben ist. Der Standardwert ist ''.

--service_account_private_key_password

Das Passwort für den privaten Schlüssel. Das Passwort muss mit dem Passwort übereinstimmen, das Sie beim Erstellen des Schlüssels festgelegt haben. Der Standardwert ist notasecret.

--use_gce_service_account={true|false}

Wenn Sie bei der Ausführung auf einer Compute Engine-Instanz die Anmeldedaten eines Dienstkontos anstelle von gespeicherten Anmeldedaten verwenden möchten, legen Sie true fest. Der Standardwert ist false. Gespeicherte Anmeldedaten werden verwendet. Weitere Informationen finden Sie unter Dienstkonten für Instanzen erstellen und aktivieren.

Das folgende globale Flag zum Angeben von Flags für das bq-Befehlszeilentool aus einer Datei wird verworfen. Verwenden Sie das Flag --bigqueryrc, um Flags aus einer Datei anzugeben.

--flagfile=PATH

Wenn angegeben, werden Flag-Definitionen aus der übermittelten Datei in das bq-Befehlszeilentool eingefügt. Der Standardwert ist ''.

Weitere Informationen finden Sie unter Standardwerte für Befehlszeilen-Flags festlegen.

Befehle

In den folgenden Abschnitten werden die Befehle des bq-Befehlszeilentools sowie deren befehlsspezifischen Flags und Argumente beschrieben.

bq add-iam-policy-binding

Rufen Sie mit dem Befehl bq add-iam-policy-binding die IAM-Richtlinie (Identity and Access Management) für eine Tabelle oder Ansicht ab und fügen Sie der Richtlinie in einem Schritt eine Bindung hinzu.

Dieser Befehl ist eine Alternative zum folgenden dreistufigen Prozess:

  1. Mit dem Befehl bq get-iam-policy die Richtliniendatei abrufen (im JSON-Format).
  2. Richtliniendatei bearbeiten.
  3. Mit dem Befehl bq set-iam-policy die Richtlinie mit einer neuen Bindung aktualisieren.

Zusammenfassung

bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE
  [--table] RESOURCE

Beispiel

bq add-iam-policy-binding --member=user:myAccount@gmail.com \
  --role=roles/bigquery.dataViewer myDataset.myTable

Flags und Argumente

Der Befehl bq add-iam-policy-binding verwendet die folgenden Flags und Argumente:

--member=MEMBER_TYPE:MEMBER

Erforderlich. Verwenden Sie das Flag --member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag --member ist zusammen mit dem Flag --role erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

Der Wert MEMBER_TYPE gibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:

  • user
  • serviceAccount
  • group
  • domain

Der Wert MEMBER gibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.

--role=ROLE

Erforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag --role ist zusammen mit dem Flag --member erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

--table={true|false}

Wenn Sie einen Fehler zurückgeben möchten, wenn das Argument RESOURCE keine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag --table auf true. Der Standardwert ist false. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.

RESOURCE

Die Tabelle oder Ansicht, deren Richtlinie Sie etwas hinzufügen möchten.

Weitere Informationen finden Sie in der IAM-Richtlinienreferenz.

bq cancel

Verwenden Sie den Befehl bq cancel, um BigQuery-Jobs abzubrechen.

Zusammenfassung

bq [--synchronous_mode=false] cancel JOB_ID

Beispiele

bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345

Flags und Argumente

Der Befehl bq cancel verwendet die folgenden Flags und Argumente:

--synchronous_mode=false
Wenn Sie nicht warten möchten, bis der Befehl bq cancel ausgeführt wurde, legen Sie das globale Flag --synchronous_mode auf false fest. Die Standardeinstellung ist true.
JOB_ID
Der Job, den Sie abbrechen möchten.

Weitere Informationen zur Verwendung des Befehls bq cancel finden Sie unter Jobs verwalten.

bq cp

Verwenden Sie den Befehl cp, um Tabellen zu kopieren, Tabellen-Snapshots (Vorschau) zu erstellen oder Tabellen-Snapshots wiederherzustellen (Vorschau).

Zusammenfassung

bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE

Beispiel

bq cp myDataset.myTable myDataset.myTableCopy

Flags und Argumente

Der Befehl bq cp verwendet die folgenden Flags und Argumente:

--append_table={true|false} oder -a={true|false}
Um eine Tabelle an eine vorhandene Tabelle anzuhängen, legen Sie true fest. Der Standardwert ist false.
--destination_kms_key=KEY

Gibt eine Cloud KMS-Schlüsselressourcen-ID an, um die Zieltabellendaten zu verschlüsseln.

Beispiel:

--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey

--expiration=SECONDS (Vorschau)

Die Anzahl der Sekunden bis zum Ablauf eines Tabellen-Snapshots. Wenn nichts angegeben ist, wird die Ablaufzeit der Tabellensnapshots auf die Standardablaufzeit des Datasets festgelegt, das den neuen Tabellen-Snapshot enthält. Wird mit dem Flag --snapshot verwendet.

--force={true|false} oder -f={true|false}

Wenn Sie die Zieltabelle, falls sie vorhanden ist, ohne Eingabeaufforderung überschreiben möchten, legen Sie true fest. Der Standardwert ist false; wenn die Zieltabelle vorhanden ist, fordert der Befehl vor dem Überschreiben eine Bestätigung an.

--no_clobber={true|false} oder -n={true|false}

Wenn die Zieltabelle nicht vorhanden sein soll, falls sie vorhanden ist, legen Sie dafür true fest. Der Standardwert ist false; wenn die Zieltabelle vorhanden ist, wird sie überschrieben.

--restore (Vorschau)

Erstellt eine Standardtabelle aus einem Tabellen-Snapshot. Das Argument SOURCE_TABLE muss einen Tabellen-Snapshot angeben.

--snapshot (Vorschau)

Erstellt einen Tabellen-Snapshot der Standardtabelle, die im Argument SOURCE_TABLE angegeben ist. Erfordert das Flag --no_clobber.

SOURCE_TABLE

Die Tabelle, die Sie kopieren möchten.

DESTINATION_TABLE

Die Tabelle, in die Sie kopieren möchten.

Weitere Informationen zur Verwendung des Befehls cp finden Sie hier:

bq extract

Verwenden Sie den Befehl bq extract, um Tabellendaten in Cloud Storage zu exportieren.

Zusammenfassung

bq extract [FLAGS] RESOURCE DESTINATION

Beispiele

bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \
    --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \
  gs://myBucket/myFile.csv

Flags und Argumente

Der Befehl bq extract verwendet die folgenden Flags und Argumente:

--compression=COMPRESSION_TYPE

Gibt den Komprimierungstyp an, der für exportierte Dateien verwendet werden soll. Folgende Werte sind möglich:

  • GZIP
  • DEFLATE
  • SNAPPY
  • NONE

Der Standardwert ist NONE.

Informationen dazu, welche Formate für die einzelnen Komprimierungstypen unterstützt werden, finden Sie unter Formate und Komprimierungstypen.

--destination_format=FORMAT

Gibt das Format für die exportierten Daten an. Folgende Werte sind möglich:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • PARQUET (Vorschau)

Der Standardwert ist CSV.

--field_delimiter=DELIMITER

Gibt für CSV-Exporte das Zeichen an, das die Begrenzung zwischen den Spalten in der Ausgabedatei kennzeichnet. Das Trennzeichen kann ein beliebiges ISO-8859-1-Einzelbytezeichen sein. Sie können \t oder tab verwenden, um Tabulatortrennzeichen anzugeben.

--print_header={true|false}

Wenn Sie das Drucken von Kopfzeilen für Formate mit Headern unterdrücken möchten, legen Sie false fest. Der Standardwert ist true; Headerzeilen sind enthalten.

RESOURCE

Die Tabelle, aus der Sie exportieren.

DESTINATION

Der Speicherort, an den die exportierten Daten gesendet werden.

Weitere Informationen zur Verwendung des Befehls bq extract finden Sie unter Tabellendaten exportieren.

bq get-iam-policy

Rufen Sie mit dem Befehl bq get-iam-policy die IAM-Richtlinie für eine Ressource ab und geben Sie sie in stdout aus. Die Ressource kann eine Tabelle oder eine Ansicht sein. Die Richtlinie hat das JSON-Format.

Zusammenfassung

bq get-iam-policy [FLAGS] RESOURCE

Beispiel

bq get-iam-policy myDataset.myTable

Flags und Argumente

Der Befehl bq get-iam-policy verwendet die folgenden Flags und Argumente:

--table={true|false} oder --t={true|false}
Wenn Sie einen Fehler zurückgeben möchten, wenn RESOURCE keine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag --table auf true. Der Standardwert ist false. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.
RESOURCE
Die Tabelle oder Ansicht, deren Richtlinie Sie abrufen möchten.

Weitere Informationen zum Befehl bq get-iam-policy finden Sie unter Einführung in Tabellenzugriffssteuerungen.

bq head

Verwenden Sie den Befehl bq head, um die angegebenen Zeilen und Spalten einer Tabelle aufzurufen. Standardmäßig werden alle Spalten der ersten 100 Zeilen angezeigt.

Zusammenfassung

bq head [FLAGS] [TABLE]

Beispiel

bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \
  myDataset.myTable

Flags und Argumente

Der Befehl bq head verwendet die folgenden Flags und Argumente:

--job=JOB or -j=JOB
Um die Ergebnisse eines Abfragejobs zu lesen, geben Sie dieses Flag mit einer gültigen Job-ID an.
--max_rows=MAX or -n=MAX
Eine Ganzzahl, die beim Anzeigen von Tabellendaten die maximale Anzahl von auszugebenden Zeilen angibt. Der Standardwert ist 100.
--selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
Eine durch Kommas getrennte Liste, die eine Teilmenge von Feldern (einschließlich verschachtelter und wiederkehrender Felder) angibt, die beim Abrufen von Tabellendaten zurückgegeben werden. Wenn dieses Flag nicht angegeben ist, werden alle Spalten zurückgegeben.
--start_row=START_ROW or -s=START_ROW
Eine Ganzzahl, die die Anzahl der zu überspringenden Zeilen angibt, bevor Tabellendaten angezeigt werden. Der Standardwert ist 0; die Tabellendaten beginnen bei der ersten Zeile.
--table={true|false} oder -t={true|false}
Wenn Sie einen Fehler zurückgeben möchten, wenn das Befehlsargument keine Tabelle oder Ansicht ist, legen Sie true fest. Der Standardwert ist false. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.
TABLE
Die Tabelle, deren Daten Sie abrufen möchten.

Weitere Informationen zur Verwendung des Befehls bq head finden Sie unter Tabellendaten verwalten.

bq help

Verwenden Sie den Befehl bq help, um die Dokumentation zum bq-Befehlszeilentool im Tool anzuzeigen.

Zusammenfassung

bq help [COMMAND]

Flags und Argumente

Der Befehl bq help verwendet die folgenden Flags und Argumente:

COMMAND
Gibt einen bestimmten Befehl des bq-Befehlszeilentools an, mit dem Sie Hilfe abrufen möchten.

bq insert

Verwenden Sie den Befehl bq insert, um Zeilen mit durch Zeilenumbruch getrennten JSON-formatierten Daten aus einer Datei mithilfe des Streaming-Zwischenpeichers einzufügen. Datentypen werden so konvertiert, dass sie den Spaltentypen der Zieltabelle entsprechen. Dieser Befehl ist nur für Testzwecke vorgesehen. Zum Streamen von Daten in BigQuery verwenden Sie die API-Methode insertAll.

Zusammenfassung

bq insert [FLAGS] TABLE FILE

Beispiele

bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable

Flags und Argumente

Der Befehl bq insert verwendet die folgenden Flags und Argumente:

--ignore_unknown_values={true|false} oder -i={true|false}
Wenn true festgelegt ist, ignoriert BigQuery alle Schlüssel/Wert-Paare, die nicht mit dem Schema der Tabelle übereinstimmen, und fügt die Zeile mit den Daten ein, die mit dem Schema übereinstimmen. Wenn der Wert auf false gesetzt ist, werden Zeilen mit Daten, die nicht mit dem Schema der Tabelle übereinstimmen, nicht eingefügt. Der Standardwert ist false.
--skip_invalid_rows={true|false} oder -s={true|false}
Wenn true festgelegt ist, versucht BigQuery, gültige Zeilen einzufügen, auch wenn ungültige Zeilen vorhanden sind. Wenn false festgelegt ist, schlägt der Befehl fehl, wenn ungültige Zeilen vorhanden sind. Der Standardwert ist false.
--template_suffix=SUFFIX or -x=SUFFIX
Wenn dieses Flag angegeben ist, wird die Zieltabelle TABLE als Basisvorlage behandelt und die Zeilen werden in eine Instanztabelle mit dem Namen {destination}{templateSuffix} eingefügt. BigQuery erstellt die Instanztabelle mithilfe des Schemas der Basisvorlage.
TABLE
Die Tabelle, in die Sie Daten einfügen möchten.
FILE
Die Datei mit den Daten, die Sie einfügen möchten.

Weitere Informationen zur Verwendung des Befehls bq insert finden Sie unter Daten in BigQuery streamen.

bq load

Verwenden Sie den Befehl bq load, um Daten in eine Tabelle zu laden.

Zusammenfassung

bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]

Beispiel

bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json

Flags und Argumente

Der Befehl bq load verwendet die folgenden Flags und Argumente:

--allow_jagged_row={true|false}
Um das Fehlen von nachgestellten optionalen Spalten in CSV-Daten zuzulassen, legen Sie true fest.
--allow_quoted_newlines={true|false}
Um Zeilenumbrüche in CSV-Daten in Anführungszeichen zuzulassen, legen Sie true fest.
--autodetect={true|false}
Um die automatische Schemaerkennung für CSV- und JSON-Daten zu aktivieren, legen Sie true fest. Die Standardeinstellung ist false. Wenn --autodetect den Wert false hat und mit dem Flag --schema kein Schema angegeben wurde und die Zieltabelle vorhanden ist, wird das Schema der Zieltabelle verwendet.
--clustering_fields=COLUMNS
Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder für das Tabellen-Clustering angibt.
--destination_kms_key=KEY
Gibt eine Schlüsselressourcen-ID für Cloud KMS zum Verschlüsseln der Zieltabellendaten an.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
Die in den Daten verwendete Zeichencodierung. Verwenden Sie einen der folgenden Werte:
  • ISO-8859-1 (auch bekannt als Latin-1)
  • UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
Gibt das Zeichen an, das die Begrenzung zwischen Spalten in den Daten kennzeichnet. Das Trennzeichen kann ein beliebiges ISO-8859-1-Einzelbytezeichen sein. Sie können entweder \t oder tab verwenden, um Tabulatortrennzeichen anzugeben.
--ignore_unknown_values={true|false}
Wenn dieses Flag auf true festgelegt ist, werden für CSV- und JSON-Dateien Zeilen mit zusätzlichen Spaltenwerten, die nicht dem Tabellenschema entsprechen, ignoriert und nicht geladen. Ebenso werden Felder für Avro-, Parquet- und ORC-Dateien im Dateischema, die nicht im Tabellenschema vorhanden sind, ignoriert und nicht geladen.
--json_extension=JSON_TYPE

Gibt den Typ der zu ladenden JSON-Datei an. Gilt nur für JSON-Dateien. Folgende Werte sind möglich:

  • GEOJSON: durch Zeilenumbruch getrennte GeoJSON-Datei

Wenn Sie dieses Flag verwenden möchten, muss das Flag --source_format auf NEWLINE_DELIMITED_JSON gesetzt sein.

Weitere Informationen finden Sie unter Durch Zeilenumbruch getrennte GeoJSON-Dateien laden.

--max_bad_records=MAX

Eine Ganzzahl, die die Höchstzahl ungültiger Datensätze angibt, bevor der gesamte Job fehlschlägt. Der Standardwert ist 0. Es werden höchstens fünf Fehler pro Typ zurückgegeben, unabhängig vom Wert --max_bad_records. Dieses Flag gilt nur für das Laden von CSV-, JSON- und Tabellen-Daten.

--null_marker=STRING

Ein optionaler benutzerdefinierter String, der einen NULL-Wert in CSV-Daten darstellt.

--projection_fields=PROPERTY_NAMES

Wenn Sie --source_format auf DATASTORE_BACKUP setzen, gibt dieses Flag an, welche Entitätsattribute aus einem Datastore-Export geladen werden sollen. Geben Sie die Attributnamen in einer durch Kommas getrennten Liste an. Bei Attributnamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen sich auf Attribute der obersten Ebene beziehen. Sie können dieses Flag auch für Firestore-Exporte verwenden.

--quote=CHARACTER

Gibt ein Anführungszeichen zum Hervorheben von Feldern in CSV-Daten an. Das Argument CHARACTER kann ein beliebiges Ein-Byte-Zeichen sein. Der Standardwert ist ein doppeltes Anführungszeichen ("). Wenn Sie angeben möchten, dass kein Anführungszeichen vorhanden ist, verwenden Sie den leeren String "".

--replace={true|false}

Legen Sie true fest, um vorhandene Daten und Schemas zu löschen, wenn neue Daten geladen werden. Cloud KMS-Schlüssel werden ebenfalls entfernt, wenn Sie nicht das Flag --destination_kms_key angeben. Der Standardwert ist false.

--schema={SCHEMA_FILE|SCHEMA}

Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiel:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

Wenn kein Schema angegeben ist, --autodetect den Wert false hat und die Zieltabelle vorhanden ist, wird das Schema der Zieltabelle verwendet.

--schema_update_option=OPTION

Gibt beim Anfügen von Daten an eine Tabelle (in einem Ladejob oder einem Abfragejob) oder beim Überschreiben einer Tabellenpartition an, wie das Schema der Zieltabelle aktualisiert wird. Verwenden Sie einen der folgenden Werte:

  • ALLOW_FIELD_ADDITION: Ermöglicht das Einfügen neuer Felder zur Schemadefinition
  • ALLOW_FIELD_RELAXATION: Ermöglicht das Ändern von REQUIRED-Feldern in NULLABLE

Wiederholen Sie dieses Flag, wenn Sie mehrere Optionen für die Schemaaktualisierung angeben möchten.

--skip_leading_rows=NUMBER_OF_ROWS

Eine Ganzzahl, die die Anzahl der zu überspringenden Zeilen am Anfang der Quelldatei angibt. Der Standardwert ist 0.

--source_format=FORMAT

Das Format der Quelldaten. Verwenden Sie einen der folgenden Werte:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
--time_partitioning_expiration=SECONDS

Eine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.

--time_partitioning_field=COLUMN_NAME

Gibt das Feld an, das bestimmt, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.

--time_partitioning_type=INTERVAL

Aktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR

Der Standardpartitionstyp für die zeitbasierte Partitionierung ist DAY.

--use_avro_logical_types={true|false}

Wenn das Flag --source_format auf AVRO gesetzt ist, legen Sie dieses Flag auf true fest, um logische Typen in die entsprechenden Typen wie TIMESTAMP zu konvertieren, anstatt nur deren Rohtypen (z. B. INTEGER) zu verwenden.

--decimal_target_types=DECIMAL_TYPE

Bestimmt, wie ein logischer Decimal-Typ konvertiert wird. Entspricht JobConfigurationLoad.decimalTargetTypes. Wiederholen Sie dieses Flag, um mehrere Zieltypen anzugeben.

--parquet_enum_as_string={true|false}

Wenn das Flag --source_format auf PARQUET festgelegt ist und BigQuery die logischen Typen von ENUM-Parquet als STRING-Werte ableiten soll, setzen Sie dieses Flag auf true. Der Standardwert ist false.

--parquet_enable_list_inference={true|false}

Wenn das Flag --source_format auf PARQUET festgelegt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LIST verwendet werden sollen.

DESTINATION_TABLE

Die Tabelle, in die Sie Daten laden möchten.

SOURCE_DATA

Der Cloud Storage-URI der Datei mit den Daten, die Sie laden möchten.

SCHEMA

Das Schema für die Zieltabelle.

Weitere Informationen zum Laden von Daten aus Cloud Storage mit dem Befehl bq load finden Sie hier:

Weitere Informationen zum Laden von Daten aus einer lokalen Quelle mit dem Befehl bq load finden Sie unter:

bq ls

Verwenden Sie den Befehl bq ls, um Objekte in einer Sammlung aufzulisten.

Zusammenfassung

bq ls [FLAGS] [RESOURCE]

Beispiel

bq ls myDataset

Flags und Argumente

Der Befehl bq ls verwendet die folgenden Flags und Argumente:

--all={true|false} oder -a={true|false}
Wenn alle Ergebnisse angezeigt werden sollen, legen Sie true fest. Zeigt Jobs von allen Nutzern oder allen Datasets an, auch ausgeblendete Nutzer und Datasets. Dieses Flag wird nicht benötigt, wenn Übertragungskonfigurationen oder Übertragungsausführungen aufgelistet werden. Der Standardwert ist false.
--capacity_commitment={true|false}
Um Kapazitätszusicherungen aufzulisten, legen Sie true fest. Der Standardwert ist false.
--datasets={true|false} oder -d={true|false}
Wenn Sie Datasets auflisten möchten, setzen Sie das Feld auf true. Der Standardwert ist false.
--filter="FILTER"

Listet Datasets auf, die mit dem FILTER-Argument übereinstimmen, das aus einem oder mehreren durch Leerzeichen getrennten Tripeln im Format labels.KEY:VALUE besteht. Wenn mehr als ein Tripel angegeben wird, gibt der Befehl nur Datasets zurück, die mit allen Tripeln übereinstimmen (d. h., der Befehl verwendet den logischen Operator AND, nicht OR). Wenn Sie mehr als ein Tripel angeben möchten, dann setzen Sie den Wert FILTER in Anführungszeichen.

  • Verwenden Sie zum Filtern basierend auf Dataset-Labels die Schlüssel und Werte, die Sie auf Ihre Datasets angewendet haben.

    Beispiel:

    --filter "labels.department:marketing labels.team:sales"
    

  • Verwenden Sie dataSourceIds als Schlüssel und verwenden Sie eine der folgenden Datenquellen als Wert, um auf der Grundlage von Übertragungskonfigurationen zu filtern:

Beispiel:

   --filter labels.dataSourceIds:dcm_dt
   

  • Verwenden Sie states als Schlüssel und einen der folgenden Übertragungsstatus als Wert, um nach Übertragungsausführungen zu filtern:

    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED

      Beispiel:

      --filter labels.states:FAILED
      

--jobs={true|false} oder -j={true|false}
Wenn Sie Jobs auflisten möchten, legen Sie dieses Flag auf true fest. Der Standardwert ist false. Es gilt standardmäßig ein Limit von 100.000 Ergebnissen.
--max_creation_time=MAX_CREATION_TIME_MS
Eine Ganzzahl, die einen Zeitstempel in Millisekunden darstellt. Bei Angabe mit dem Flag --jobs listet dieses Flag nur die Jobs auf, die vor dem Zeitstempel erstellt wurden.
--max_results=MAX_RESULTS or -n=MAX_RESULTS
Eine Ganzzahl, die die maximale Anzahl von Ergebnissen angibt. Der Standardwert ist 50.
--min_creation_time=MIN_CREATION_TIME_MS
Eine Ganzzahl, die einen Zeitstempel in Millisekunden darstellt. Bei Angabe mit dem Flag --jobs listet dieses Flag nur die Jobs auf, die nach dem Zeitstempel erstellt wurden.
--message_type=messageTypes:MESSAGE_TYPE

Um nur Logmeldungen für Übertragungsjobs eines bestimmten Typs aufzulisten, geben Sie messageTypes:MESSAGE_TYPE an. Folgende Werte sind möglich:

  • INFO
  • WARNING
  • ERROR
--models={true|false} oder -m={true|false}

Legen Sie true fest, um BigQuery ML-Modelle aufzulisten. Der Standardwert ist false.

--page_token=TOKEN oder -k=TOKEN

Listet Elemente ab dem angegebenen Seitentoken auf.

--projects={true|false} oder -p={true|false}

Legen Sie true fest, um alle Projekte anzeigen zu lassen. Der Standardwert ist false.

--reservation={true|false}

Um alle Reservierungen für ein bestimmtes Projekt und einen bestimmten Standort aufzulisten, setzen Sie den Wert true. Der Standardwert ist false. Verwenden Sie ihn mit den Flags --project_id und --location.

Beispiel:

bq ls --reservation=true --project_id=myProject --location=us

--reservation_assignment={true|false}

Legen Sie true fest, um alle Reservierungszuweisungen für ein bestimmtes Projekt und einen Standort aufzulisten. Der Standardwert ist false. Wird mit den Flags --project_id und --location verwendet.

--row_access_policies

Wenn angegeben, Listet alle Zugriffsrichtlinien auf Zeilenebene für eine Tabelle auf. Zugriffsrichtlinien auf Zeilenebene werden für die Sicherheit auf Zeilenebene verwendet. Sie müssen den Tabellennamen im Format dataset.table angeben.

--run_attempt=RUN_ATTEMPT

Wird mit dem Flag --transfer_run verwendet. Legen Sie RUN_ATTEMPT_UNSPECIFIED fest, um alle Ausführungsversuche für die angegebene Übertragungsausführung aufzulisten. Legen Sie LATEST fest, um nur den letzten Ausführungsversuch aufzulisten. Der Standardwert ist LATEST.

--transfer_config={true|false}

Legen Sie true fest, um Übertragungskonfigurationen im angegebenen Projekt und am angegebenen Standort aufzulisten. Wird mit den Flags --transfer_location und --project_id verwendet. Der Standardwert ist false.

--transfer_location=LOCATION

Listet Übertragungskonfigurationen am angegebenen Standort auf. Sie legen den Übertragungsort bei der Erstellung der Übertragung fest.

--transfer_log={true|false}

Wird mit dem Flag --transfer_run verwendet. Legen Sie true fest, um Übertragungslogmeldungen für die angegebene Übertragungsausführung aufzulisten. Der Standardwert ist false.

--transfer_run={true|false}

Listet die Übertragungsausführungen für die angegebene Übertragungskonfiguration auf.

Beispiel:

bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345

RESOURCE

Die Sammlung, deren Objekte Sie auflisten möchten. Die Ressource kann ein Dataset, ein Projekt, eine Reservierung oder eine Übertragungskonfiguration sein.

Weitere Informationen zur Verwendung des Befehls bq ls finden Sie hier:

bq mk

Verwenden Sie den Befehl bq mk, um eine BigQuery-Ressource zu erstellen.

Zusammenfassung

bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]

Flags und Argumente

Der Befehl bq mk verwendet ein Typ-Flag, das den Typ der zu erstellenden Ressource angibt, sowie andere Flags, die vom Ressourcentyp abhängen.

TYPE_FLAG: Legen Sie eines der folgenden Flags auf true fest. Ihre Auswahl gibt den Ressourcentyp an, der erstellt werden soll.

Der Befehl bq mk unterstützt das folgende Flag für alle Ressourcentypen:

--force={true|false} oder -f={true|false}
Um Fehler zu ignorieren, wenn eine Ressource mit demselben Namen bereits vorhanden ist, legen Sie true fest. Wenn die Ressource bereits vorhanden ist, ist der Exit-Code 0, aber das Festlegen des Flags auf true bewirkt nicht, dass der Befehl bq mk die Ressource überschreibt. Der Standardwert ist false.

Der Befehl bq mk unterstützt je nach erstelltem Ressourcentyp zusätzliche Flags. Dies wird in den folgenden Abschnitten beschrieben.

bq mk --capacity_commitment

Erwerben Sie eine Kapazitätszusicherung. Die folgenden Flags werden unterstützt:

--location=LOCATION
Gibt den Standort des Projekts an.
--plan=PLAN_TYPE
Gibt den Tariftyp an. Mögliche Werte:
  • FLEX
  • MONTHLY
  • ANNUAL
--project_id=PROJECT_ID
Gibt das Projekt an, das die Slots verwaltet.
--slots=NUMBER_OF_SLOTS
Gibt die Anzahl der Slots an, die gekauft werden sollen.

Weitere Informationen finden Sie unter Mit Zusicherungen arbeiten.

bq mk --connection

Erstellt eine Verbindung. Die folgenden Flags werden unterstützt:

--connection_type=CONNECTION_TYPE
Der Typ der Verbindung, z. B. CLOUD_SQL für Cloud SQL-Verbindungen.
--properties=PROPERTIES
Verbindungsspezifische Parameter im JSON-Format. instanceId, database und type müssen angegeben werden.
--connection_credential=CONNECTION_CREDENTIAL
Die Anmeldedaten der Verbindung im JSON-Format. username und password müssen angegeben werden.
--project_id=PROJECT_ID
Gibt die ID des Projekts an, zu dem die Verbindung gehört.
--location=LOCATION
Gibt den Standort an, an dem die Verbindung gespeichert wird.
--display_name=DISPLAY_NAME
Gibt einen optionalen Anzeigenamen für die Verbindung an.
--description=DESCRIPTION
Gibt eine optionale Beschreibung der Verbindung an.
CONNECTION_ID
Gibt eine optionale Verbindungs-ID für die Verbindung an. Wenn keine Verbindungs-ID angegeben wird, wird automatisch eine eindeutige ID generiert. Die Verbindungs-ID kann Buchstaben, Ziffern und Unterstriche enthalten.

Weitere Informationen finden Sie unter Verbindungen erstellen.

bq mk --dataset

Erstellt ein Dataset. Die folgenden Flags werden unterstützt:

--default_kms_key=KEY
Gibt die standardmäßige Cloud KMS-Schlüsselressourcen-ID zum Verschlüsseln der Tabellendaten in einem Dataset an, wenn während der Tabellenerstellung oder -abfrage kein expliziter Schlüssel angegeben wird.
--default_partition_expiration=SECONDS
Eine Ganzzahl, die die Standardablaufzeit in Sekunden für alle Partitionen in neu erstellten partitionierten Tabellen im Dataset angibt. Die Ablaufzeit einer Partition entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert. Wenn dieses Attribut festgelegt ist, überschreibt dessen Wert die Ablaufzeit der Standardtabelle auf Dataset-Ebene, falls vorhanden. Wenn Sie beim Erstellen oder Aktualisieren einer partitionierten Tabelle das Flag --time_partitioning_expiration angeben, hat der Ablauf der Partition auf Tabellenebene Vorrang vor dem Ablaufdatum der Standardpartition auf Dataset-Ebene.
--default_table_expiration=SECONDS
Eine Ganzzahl, die die Standardlebensdauer in Sekunden für neu erstellte Tabellen in einem Dataset angibt. Die Ablaufzeit entspricht der aktuellen UTC-Zeit plus dem ganzzahligen Wert.
--description=DESCRIPTION
Gibt die Beschreibung des Datasets an.
--label=KEY:VALUE
Gibt ein Label für das Dataset an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--location=LOCATION oder --data_location=LOCATION
Gibt den Speicherort des Datasets an. Ziehen Sie das Flag --location vor. Das Flag --data_location ist ein Legacy-Flag.

Weitere Informationen finden Sie unter Datasets erstellen.

bq mk --materialized_view

Erstellt eine materialisierte Ansicht. Die folgenden Flags werden unterstützt:

--enable_refresh={true|false}
Wenn Sie die automatische Aktualisierung für eine materialisierte Ansicht deaktivieren möchten, legen Sie false fest. Der Standardwert beim Erstellen einer materialisierten Ansicht ist true.
--refresh_interval_ms=MILLISECONDS
Gibt die Anzahl der Millisekunden für das Aktualisierungsintervall einer materialisierten Ansicht an. Wenn dieses Flag nicht angegeben ist, beträgt das Standardaktualisierungsintervall für eine materialisierte Ansicht, für die die Aktualisierung aktiviert ist, 1.800.000 Millisekunden, also 30 Minuten.

Weitere Informationen finden Sie unter Materialisierte Ansichten erstellen und verwenden.

bq mk --reservation

Erstellt eine Reservierung mit dedizierten Slots. Die folgenden Flags werden unterstützt:

--ignore_idle_slots={true|false}
Wenn Sie Jobs, die in dieser Reservierung ausgeführt werden, auf Slots beschränken möchten, die der Reservierung zugewiesen sind, legen Sie true fest. Der Standardwert ist false. Jobs in dieser Reservierung können inaktive Slots aus anderen Reservierungen oder Slots verwenden, die keiner Reservierung zugewiesen sind. Weitere Informationen finden Sie unter Inaktive Slots.
--location=LOCATION
Gibt den Standort des Projekts an.
--project_id=PROJECT_ID
Gibt das Projekt an, zu dem die Reservierung gehört.
--slots=NUMBER_OF_SLOTS
Gibt die Anzahl der Slots an, die dieser Reservierung zugewiesen werden sollen.

Weitere Informationen finden Sie unter Mit Reservierungen arbeiten.

bq mk --reservation_assignment

Weist einer Reservierung ein Projekt, einen Ordner oder eine Organisation zu. Die folgenden Flags werden unterstützt:

--assignee_id=ASSIGNEE_ID
Gibt die ID des Ordners, der Organisation oder des Projekts an.
--assignee_type=ASSIGNEE_TYPE
Gibt den Entitätstyp an, der der Reservierung zugewiesen werden soll. Einer der folgenden:
  • FOLDER
  • ORGANIZATION
  • PROJECT
--job_type=JOB_TYPE
GIbt die Art des Jobs, der der Reservierung zugewiesen werden soll. Einer der folgenden:
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--location=LOCATION
Gibt den Standort des Projekts an.
--project_id=PROJECT_ID
Gibt das Projekt an, zu dem die Reservierung gehört.
--reservation_id=RESERVATION_ID
Gibt die ID der Reservierung an.

Weitere Informationen finden Sie unter Mit Zuweisungen arbeiten.

bq mk --table

Erstellt eine Tabelle. Die folgenden Flags werden unterstützt:

--clustering_fields=COLUMNS
Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder für das Tabellen-Clustering angeben. Bei der Partitionierung wird die Tabelle zuerst partitioniert und dann werden die Partitionen anhand der bereitgestellten Spalten geclustert.
--description=DESCRIPTION
Gibt die Beschreibung der Tabelle an.
--destination_kms_key=KEY
Gibt eine Schlüsselressourcen-ID für Cloud KMS zum Verschlüsseln der Zieltabellendaten an.
--expiration=SECONDS
Gibt die Lebensdauer der Tabelle an. Wenn SECONDS den Wert 0 hat, läuft die Tabelle nicht ab. Wenn Sie das Flag --expiration nicht angeben, erstellt BigQuery die Tabelle mit der Standardlebensdauer des Datasets für Tabellen.
--external_table_definition={PATH_TO_FILE|DEFINITION}

Gibt eine Tabellendefinition zum Erstellen einer externen Tabelle an. Der Wert kann entweder ein Pfad zu einer Datei mit einer Tabellendefinitionsdatei (PATH_TO_FILE) oder einer Inline-Tabellendefinition (DEFINITION) sein.

  • Das Format für das Feld DEFINITION lautet SCHEMA@FORMAT=URI.
  • Das Format für den Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. Sie können den Wert SCHEMA weglassen, wenn das Datenformat selbstbeschreibend ist (z. B. Avro) oder wenn Sie die automatische Schemaerkennung verwenden.
  • Der Wert FORMAT gibt das Datenformat an, z. B. CSV, AVRO oder PARQUET.

Wenn Sie eine Tabellendefinitionsdatei angeben, verwenden Sie keine Endung.

Beispiel:

--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

--label=KEY:VALUE

Gibt ein Label für die Tabelle an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.

--range_partitioning=COLUMN_NAME,START,END,INTERVAL

Gibt Optionen für eine Partition nach Ganzzahlbereich so an:

  • column_name ist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.
  • start ist der Anfang der Bereichspartitionierung (einschließlich).
  • end ist das Ende der Bereichspartitionierung (ausschließlich).
  • interval ist die Breite des jeweiligen Bereichs in der Partition.

Beispiel:

--range_partitioning=customer_id,0,10000,100

--require_partition_filter={true|false}

Wenn Sie einen Partitionsfilter für Abfragen in der bereitgestellten Tabelle anfordern möchten, legen Sie true fest. Es gilt nur für partitionierte Tabellen. Der Standardwert ist false.

--schema={SCHEMA_FILE|SCHEMA}

Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiele:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--time_partitioning_expiration=SECONDS

Eine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.

--time_partitioning_field=COLUMN_NAME

Gibt das Feld an, mit dem festgelegt wird, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.

--time_partitioning_type=INTERVAL

Aktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR
--use_avro_logical_types={true|false}

Wenn der Teil FORMAT des Flags --external_table_definition auf AVRO gesetzt ist, gibt dieses Flag an, ob logische Typen konvertiert werden sollen. in ihre entsprechenden Typen (z. B. TIMESTAMP) umwandeln, anstatt nur deren Rohtypen zu verwenden (z. B. INTEGER).

--parquet_enable_list_inference={true|false}

Wenn der FORMAT-Teil des --external_table_definition-Flags auf PARQUET festgelegt ist, gibt dieses Flag an, obSchemainferenz für Parquet-LIST logische Typen verwendet werden sollen.

--parquet_enum_as_string={true|false}

Wenn der Teil FORMAT des --external_table_definition-Flags auf PARQUET gesetzt ist, gibt dieses Flag an, ob Parquet für ENUM logische Typen als STRING-Werte abgeleitet werden soll.

Weitere Informationen finden Sie unter Tabellen erstellen und verwenden.

bq mk --transfer_config

Erstellt eine Übertragungskonfiguration. Die folgenden Flags werden unterstützt:

--data_source=DATA_SOURCE
Gibt die Datenquelle an. Erforderlich beim Erstellen einer Übertragungskonfiguration. Verwenden Sie einen der folgenden Werte:
--display_name=DISPLAY_NAME
Der Anzeigename für die Übertragungskonfiguration.
--params={"PARAMETER":"VALUE"} oder -p={"PARAMETER":"VALUE"}
Gibt die Parameter für die Übertragungskonfiguration im JSON-Format an. Die Parameter variieren je nach Datenquelle. Weitere Informationen finden Sie unter Einführung in BigQuery Data Transfer Service.
--refresh_window_days=DAYS
Eine Ganzzahl, die das Aktualisierungsfenster für eine Übertragungskonfiguration in Tagen angibt. Der Standardwert ist 0.
--target_dataset=DATASET
Gibt das Ziel-Dataset für die Übertragungskonfiguration an.

Informationen zum Verwenden des Befehls bq mk mit BigQuery Data Transfer Service finden Sie unter:

bq mk --transfer_run

Erstellt mithilfe der angegebenen Datenübertragungskonfiguration die Ausführung einer Datenübertragung zum festgelegten Zeitpunkt oder in dem angegebenen Zeitraum.

Zusammenfassung
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG

Die folgenden Flags werden unterstützt:

--run_time=RUN_TIME
Ein Zeitstempel, der den Zeitpunkt für die Datenübertragungsausführung angibt.
--start_time=START_TIME
Ein Zeitstempel, der die Startzeit für eine Reihe von Übertragungsausführungen angibt.
--end_time=END_TIME
Ein Zeitstempel, der die Endzeit für eine Reihe von Datenübertragungsausführungen angibt.

Das Format für den Zeitstempel ist RFC3339 UTC "Zulu".

Das Argument CONFIG gibt eine bereits bestehende Datenübertragungskonfiguration an.

Beispiele
bq mk --transfer_run \
      --run_time=2021-01-20T17:00:00.00Z \
      projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \
      --start_time=2020-12-19T16:39:57-08:00 \
      --end_time=2020-12-19T20:39:57-08:00 \
      projects/p/locations/l/transferConfigs/c

bq mk --view

Erstellt eine Ansicht. Die folgenden Flags werden unterstützt:

--description=DESCRIPTION
Gibt die Beschreibung der Ansicht an.
--expiration=SECONDS
Gibt die Lebensdauer der Ansicht an. Wenn SECONDS den Wert 0 hat, läuft die Ansicht nicht ab. Wenn Sie das Flag --expiration nicht angeben, erstellt BigQuery die Ansicht mit der Standardlebensdauer des Datasets für Tabellen.
--label=KEY:VALUE
Gibt ein Label für die Ansicht an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--use_legacy_sql={true|false}
Legen Sie false fest, um eine Standard-SQL-Abfrage zum Erstellen einer Ansicht zu verwenden. Der Standardwert ist true; verwendet Legacy-SQL.
--view_udf_resource=FILE
Gibt den Cloud Storage-URI oder den Pfad zu einer lokalen Codedatei an, die sofort als benutzerdefinierte Funktionsressource geladen und ausgewertet und dann von der SQL-Abfrage einer Ansicht verwendet wird. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.

Weitere Informationen finden Sie unter Ansichten erstellen.

bq mkdef

Verwenden Sie den Befehl bq mkdef, um eine Tabellendefinition im JSON-Format für Daten zu erstellen, die in Cloud Storage oder Drive gespeichert sind.

Zusammenfassung

bq mkdef [FLAGS] URI [ > FILE ]

Flags und Argumente

Der Befehl bq mkdef verwendet die folgenden Flags und Argumente:

--autodetect={true|false}
Gibt an, ob die automatische Schemaerkennung für CSV- und JSON-Daten verwendet werden soll. Der Standardwert ist false.
--ignore_unknown_values={true|false} oder -i={true|false}
Gibt an, ob Werte in einer Zeile ignoriert werden sollen, die im Schema nicht vorhanden sind. Der Standardwert ist false.
--parquet_enable_list_inference={true|false}
Wenn source_format auf PARQUET festgelegt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LIST verwendet werden sollen. Der Standardwert ist false.
--parquet_enum_as_string={true|false}
Wenn source_format auf PARQUET gesetzt ist, gibt dieses Flag an, ob logischen Typen von Parquet-ENUM als STRING-Werte abgeleitet werden sollen. Der Standardwert ist false.
--source_format=FORMAT

Gibt das Format der Quelldaten an. Verwenden Sie einen der folgenden Werte:

  • AVRO
  • CSV
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS
  • NEWLINE_DELIMITED_JSON
  • ORC
  • PARQUET

Der Standardwert ist CSV.

--use_avro_logical_types={true|false}

Wenn das Flag --source_format auf AVRO gesetzt ist, gibt dieses Flag an, ob logische Typen in die entsprechenden Typen konvertiert werden sollen, z. B. TIMESTAMP, anstatt nur deren Rohtypen (z. B. INTEGER) zu verwenden. Der Standardwert ist false.

Weitere Informationen zur Verwendung des Befehls bq mkdef finden Sie unter Tabellendefinitionsdatei für eine externe Datenquelle erstellen.

bq partition

Verwenden Sie den Befehl bq partition, um eine Gruppe von Tabellen mit Zeit-Einheit-Suffixen, z. B. Tabellen, die auf YYYYMMDD für die Datumspartitionierung enden, in partitionierte Tabellen umzuwandeln.

Zusammenfassung

bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE

Flags und Argumente

Der Befehl bq partition verwendet die folgenden Flags und Argumente:

--no_clobber={true|false} oder -n={true|false}
Wenn Sie das Überschreiben einer vorhandenen Partition verhindern möchten, legen Sie true fest. Der Standardwert ist false. Wenn die Partition vorhanden ist, wird sie überschrieben.
--time_partitioning_expiration=SECONDS
Eine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.
--time_partitioning_type=INTERVAL

Gibt den Partitionstyp an. Die folgende Tabelle enthält die möglichen Werte für das Flag INTERVAL und das erwartete Format für das Zeit-Einheit-Suffix:

INTERVAL Suffix
HOUR YYYYMMDDHH
DAY YYYYMMDD
MONTH YYYYMM
YEAR YYYY
SOURCE_TABLE_BASE_NAME

Der Basisname der Tabellengruppe mit Zeit-Einheit-Suffixen.

PARTITION_TABLE

Der Name der partitionierten Zieltabelle.

Weitere Informationen zur Verwendung des Befehls bq partition finden Sie unter Datumsfragmentierte Tabellen in nach Aufnahmezeit partitionierte Tabellen konvertieren.

bq query

Verwenden Sie den Befehl bq query, um einen Abfragejob zu erstellen, der die angegebene SQL-Abfrage ausführt.

Zusammenfassung

bq query [FLAGS] 'QUERY'

Flags und Argumente

Der Befehl bq query verwendet die folgenden Flags und Argumente:

--allow_large_results={true|false}
Wenn Sie große Zieltabellengrößen für Legacy-SQL-Abfragen aktivieren möchten, legen Sie true fest. Der Standardwert ist false.
--append_table={true|false}
Wenn Sie Daten an eine Zieltabelle anfügen möchten, legen Sie true fest. Der Standardwert ist false.
--batch={true|false}
Wenn Sie die Abfrage im Batchmodus ausführen möchten, legen Sie true fest. Der Standardwert ist false.
--clustering_fields=COLUMNS
Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder zum Clustern der Zieltabelle in einer Abfrage angibt. Bei der Partitionierung wird die Tabelle zuerst partitioniert und dann werden die Partitionen anhand der bereitgestellten Spalten geclustert.
--destination_kms_key=KEY
Gibt eine Schlüsselressourcen-ID für Cloud KMS zum Verschlüsseln der Zieltabellendaten an.
--destination_schema={PATH_TO_FILE|SCHEMA}
Der Pfad zu einer lokalen JSON-Schemadatei oder einer durch Kommas getrennten Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE,FIELD:DATA_TYPE usw.
--destination_table=TABLE

Wenn dieses Flag angegeben ist, werden die Abfrageergebnisse unter TABLE gespeichert. Geben Sie TABLE im folgenden Format an: PROJECT:DATASET.TABLE. Wenn PROJECT nicht angegeben ist, wird vom aktuellen Projekt ausgegangen. Wenn das Flag --destination_table nicht angegeben ist, werden die Abfrageergebnisse in einer temporären Tabelle gespeichert.

Beispiele:

--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable

--dry_run={true|false}

Wenn dieses Flag angegeben ist, wird die Abfrage überprüft, aber nicht ausgeführt.

--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}

Gibt den Tabellennamen und die Tabellendefinition für eine externe Tabellenabfrage an. Die Tabellendefinition kann ein Pfad zu einer lokalen JSON-Schemadatei oder eine Inline-Tabellendefinition sein. Das Format für die Inline-Tabellendefinition lautet SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. Das Format für den Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. Wenn Sie eine Tabellendefinitionsdatei verwenden, verwenden Sie keine Endung.

Beispiel:

--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

Wiederholen Sie dieses Flag, um mehrere Tabellen abzufragen.

--flatten_results={true|false}

Wenn verschachtelte und wiederkehrender Felder in den Ergebnissen von Abfragen in Legacy-SQL nicht vereinfacht werden sollen, legen Sie false fest. Der Standardwert ist true.

--label=KEY:VALUE

Gibt ein Label für den Abfragejob an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.

--max_rows=MAX_ROWS oder -n=MAX_ROWS

Eine Ganzzahl, die die Anzahl der Zeilen angibt, die in den Abfrageergebnissen zurückgegeben werden sollen. Der Standardwert ist 100.

--maximum_bytes_billed=MAX_BYTES

Eine Ganzzahl, die die für die Abfrage berechneten Byte begrenzt. Abfragen, die dieses Limit überschreiten, schlagen fehl, ohne dass eine Gebühr anfällt. Wenn dieses Flag nicht angegeben ist, wird die Menge der berechneten Byte auf den Standardwert des Projekts eingestellt.

--min_completion_ratio=RATIO

[Experimentell] Eine Zahl zwischen 0 und 1, die den Mindestanteil der Daten angibt, die gescannt werden müssen, bevor eine Abfrage zurückgegeben wird. Wenn das Flag nicht angegeben ist, wird der Standardserverwert 1.0 verwendet.

--parameter={PATH_TO_FILE|PARAMETER}

Entweder eine JSON-Datei mit einer Liste von Abfrageparametern oder ein Abfrageparameter im Format NAME:TYPE:VALUE. Bei fehlender Namensangabe wird ein Positionsparameter erstellt. Wenn TYPE weggelassen wird, wird der Typ STRING angenommen. NULL gibt einen Nullwert an. Wiederholen Sie dieses Flag, um mehrere Parameter anzugeben.

Beispiel:

--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42

--range_partitioning=COLUMN_NAME,START,END,INTERVAL

Wird mit dem Flag --destination_table verwendet. Gibt Optionen für die Partitionierung nach Ganzzahlbereich in der Zieltabelle an. Der Wert ist eine durch Kommas getrennte Liste im Format column_name,start,end,interval, wobei

  • column_name ist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.
  • start ist der Anfang der Bereichspartitionierung (einschließlich).
  • end ist das Ende der Bereichspartitionierung (ausschließlich).
  • interval ist die Breite des jeweiligen Bereichs in der Partition.

Beispiel:

--range_partitioning=customer_id,0,10000,100

--replace={true|false}

Legen Sie true fest, um die Zieltabelle mit den Abfrageergebnissen zu überschreiben. Alle vorhandenen Daten und Schemas werden gelöscht. Cloud KMS-Schlüssel werden ebenfalls entfernt, wenn Sie nicht das Flag --destination_kms_key angeben. Der Standardwert ist false.

--require_cache={true|false}

Wenn dieses Flag angegeben ist, wird die Abfrage nur ausgeführt, wenn Ergebnisse aus dem Cache abgerufen werden können.

--require_partition_filter={true|false}

Wenn dieses Flag angegeben wird, ist für Abfragen der bereitgestellten Tabelle ein Partitionsfilter erforderlich. Es kann nur für eine partitionierte Tabelle verwendet werden.

--rpc={true|false}

Wenn Sie die Abfrage-API im RPC-Format anstelle der REST API-Methode jobs.insert verwenden möchten, legen Sie true fest. Der Standardwert ist false.

--schedule="SCHEDULE"

Macht aus einer Abfrage eine wiederkehrende geplante Abfrage. Hierfür ist ein Zeitplan erforderlich, der angibt, wie häufig die Abfrage ausgeführt werden soll.

Beispiele:

--schedule="every 24 hours"
--schedule="every 3 hours"

Eine Beschreibung der Zeitplansyntax finden Sie unter Zeitplan formatieren.

--schema_update_option=OPTION

Gibt beim Anfügen von Daten an eine Tabelle (in einem Ladejob oder einem Abfragejob) oder beim Überschreiben einer Tabellenpartition an, wie das Schema der Zieltabelle aktualisiert wird. Verwenden Sie einen der folgenden Werte:

  • ALLOW_FIELD_ADDITION: Ermöglicht das Einfügen neuer Felder zur Schemadefinition.
  • ALLOW_FIELD_RELAXATION: Ermöglicht das Ändern von REQUIRED-Feldern in NULLABLE.

Wiederholen Sie dieses Flag, um mehrere Optionen für die Schemaaktualisierung anzugeben.

--start_row=ROW_NUMBER oder -s=ROW_NUMBER

Eine Ganzzahl, die die erste Zeile angibt, die im Abfrageergebnis zurückgegeben werden soll. Der Standardwert ist 0.

--target_dataset=DATASET

Bei Angabe dieses Flags mit --schedule wird das Ziel-Dataset für eine geplante Abfrage aktualisiert. Die Abfrage muss in DDL oder DML vorliegen.

--time_partitioning_expiration=SECONDS

Wird mit dem Flag --destination_table verwendet. Eine Ganzzahl, die in Sekunden angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.

--time_partitioning_field=COLUMN_NAME

Wird mit dem Flag --destination_table verwendet. Gibt die Partitionierungsspalte für eine zeitbasierte Partitionierung an. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Aufnahmezeit partitioniert.

--time_partitioning_type=INTERVAL

Wird mit dem Flag --destination_table verwendet. Gibt den Partitionstyp für die Zieltabelle an. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR
--udf_resource=FILE

Dieses Flag gilt nur für Legacy-SQL-Abfragen. Gibt den Cloud Storage-URI oder den Pfad zu einer lokalen Datei an, die eine benutzerdefinierte Funktionsressource enthält, die von einer Legacy-SQL-Abfrage verwendet werden muss. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.

--use_cache={true|false}

Wenn Sie das Caching von Abfrageergebnissen nicht zulassen möchten, legen Sie false fest. Der Standardwert ist true.

--use_legacy_sql={true|false}

Zum Ausführen einer Standard-SQL-Abfrage legen Sie false fest. Der Standardwert ist true. Der Befehl verwendet Legacy-SQL.

QUERY

Die Abfrage, die Sie ausführen möchten.

Weitere Informationen zur Verwendung des Befehls bq query finden Sie unter Interaktive Abfragen und Batchabfragen ausführen.

bq remove-iam-policy-binding

Rufen Sie mit dem Befehl bq remove-iam-policy-binding die IAM-Richtlinie für eine Ressource ab und entfernen Sie eine Bindung aus der Richtlinie, in einem Schritt. Die Ressource kann eine Tabelle oder eine Ansicht sein.

Dieser Befehl ist eine Alternative zum folgenden dreistufigen Prozess:

  1. Mit dem Befehl bq get-iam-policy die Richtliniendatei abrufen (im JSON-Format).
  2. Richtliniendatei bearbeiten.
  3. Die Richtlinie mit dem Befehl bq set-iam-policy ohne die Bindung aktualisieren.

Zusammenfassung

bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE

Flags und Argumente

Der Befehl bq remove-iam-policy-binding verwendet die folgenden Flags und Argumente:

--member=MEMBER_TYPE:MEMBER

Erforderlich. Verwenden Sie das Flag --member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag --member ist zusammen mit dem Flag --role erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

Der Wert MEMBER_TYPE gibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:

  • user
  • serviceAccount
  • group
  • domain

Der Wert MEMBER gibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.

--role=ROLE

Erforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag --role ist zusammen mit dem Flag --member erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

--table={true|false} oder -t={true|false}

Optional. Wenn Sie eine Bindung aus der IAM-Richtlinie einer Tabelle oder Ansicht entfernen möchten, legen Sie true fest. Der Standardwert ist false.

RESOURCE ist die Tabelle oder Ansicht, deren Richtlinienbindung Sie entfernen möchten.

Weitere Informationen finden Sie in der IAM-Richtlinienreferenz.

bq rm

Verwenden Sie den Befehl bq rm, um eine BigQuery-Ressource zu löschen.

Zusammenfassung

bq rm [FLAGS] RESOURCE

Flags und Argumente

Der Befehl bq rm verwendet die folgenden Flags und Argumente:

--capacity_commitment={false|true}
Wenn Sie eine Kapazitätszusicherung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--dataset={true|false} oder -d={true|false}
Wenn Sie ein Dataset löschen möchten, legen Sie true fest. Der Standardwert ist false.
--force={true|false} oder -f={true|false}
Wenn Sie eine Ressource ohne Eingabeaufforderung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--model={true|false} oder -m={true|false}
Wenn Sie ein BigQuery ML-Modell löschen möchten, legen Sie true fest. Der Standardwert ist false.
--recursive={true|false} oder -r{true|false}
Wenn Sie ein Dataset und alle darin enthaltenen Tabellen, Tabellendaten oder Modelle löschen möchten, legen Sie true fest. Der Standardwert ist false.
--reservation={true|false}
Wenn Sie eine Reservierung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--reservation_assignment={true|false}
Wenn Sie eine Reservierungszuweisung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--table={true|false} oder -t={true|false}
Wenn Sie eine Tabelle löschen möchten, legen Sie true fest. Der Standardwert ist false.
--transfer_config={true|false}
Wenn Sie eine Übertragungskonfiguration löschen möchten, legen Sie true fest. Der Standardwert ist false.
RESOURCE
Die Ressource, die Sie entfernen möchten.

Weitere Informationen zur Verwendung des Befehls bq rm finden Sie hier:

bq set-iam-policy

Verwenden Sie den Befehl bq set-iam-policy, um die IAM-Richtlinie für eine Ressource anzugeben oder zu aktualisieren. Die Ressource kann eine Tabelle oder eine Ansicht sein. Nach dem Festlegen der Richtlinie wird die neue Richtlinie in stdout ausgegeben. Die Richtlinie hat das JSON-Format.

Das Feld etag in der aktualisierten Richtlinie muss mit dem Wert etag der aktuellen Richtlinie übereinstimmen. Andernfalls schlägt die Aktualisierung fehl. Diese Funktion verhindert gleichzeitige Aktualisierungen.

Sie können die aktuelle Richtlinie und den etag-Wert für eine Ressource mit dem Befehl bq get-iam-policy abrufen.

Zusammenfassung

bq set-iam-policy [FLAGS] RESOURCE FILE_NAME

Flags und Argumente

Der Befehl bq set-iam-policy verwendet die folgenden Flags und Argumente.

--table={true|false} oder -t={true|false}
Optional. Wenn Sie die IAM-Richtlinie einer Tabelle oder Ansicht festlegen möchten, legen Sie true fest. Der Standardwert ist false.

RESOURCE ist die Tabelle oder Ansicht, deren Richtlinie Sie aktualisieren möchten.

FILE_NAME ist der Name einer Datei, die die Richtlinie im JSON-Format enthält.

Weitere Informationen zum Befehl bq set-iam-policy mit Beispielen finden Sie unter Einführung in die Tabellenzugriffssteuerung.

bq show

Verwenden Sie den Befehl bq show, um Informationen zu einer Ressource aufzurufen.

Zusammenfassung

bq show [FLAGS] [RESOURCE]

Flags und Argumente

Der Befehl bq show verwendet die folgenden Flags und Argumente:

--assignee_id=ASSIGNEE
Gibt bei Verwendung mit dem Flag --reservation_assignment die ID eines Ordners, einer Organisation oder eines Projekts an. Mit dem Flag --assignee_type geben Sie an, welche Art von Zuständigen angezeigt werden soll.
--assignee_type=TYPE
Gibt bei Verwendung mit dem Flag --reservation_assignment den Typ der abzurufenden Entität an. Verwenden Sie einen der folgenden Werte:
  • FOLDER
  • ORGANIZATION
  • PROJECT
--connection={true|false}
Legen Sie true fest, um Informationen zu einer Verbindung abzurufen. Der Standardwert ist false. Weitere Informationen finden Sie unter Verbindungsressource abrufen.
--dataset={true|false} oder -d={true|false}
Legen Sie true fest, um Informationen zu einer Reservierung abzurufen. Der Standardwert ist false.
--encryption_service_account={true|false}
Um das Verschlüsselungsdienstkonto für ein Projekt abzurufen, falls vorhanden, oder ein Dienstkonto zu erstellen, falls nicht vorhanden, legen Sie true fest. Der Standardwert ist false. Wird mit dem Flag --project_id verwendet.
--job={true|false} oder -j={true|false}
Um Informationen zu einem Job aufzurufen, legen Sie true fest. Der Standardwert ist false.
--job_type=JOB_TYPE
Gibt bei Verwendung mit dem Flag --reservation_assignment den Jobtyp der Reservierungszuweisungen an, die angezeigt werden sollen. Verwenden Sie einen der folgenden Werte:
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--model={true|false} oder -m={true|false}
Legen Sie true fest, um Informationen zu einem BigQuery ML-Modell abzurufen. Der Standardwert ist false.
--reservation={true|false}
Legen Sie true fest, um Informationen zu einer Reservierung abzurufen. Der Standardwert ist false.
--reservation_assignment={true|false}
Wenn dieser Wert auf true gesetzt ist, zeigt der Befehl Reservierungszuweisungen für einen bestimmten Ordner, eine bestimmte Organisation oder ein bestimmtes Projekt an. Der Befehl zeigt gegebenenfalls die expliziten Zuweisungen der Zielressource an. Andernfalls werden Zuweisungen angezeigt, die von den übergeordneten Ressourcen übernommen wurden. Ein Projekt kann beispielsweise Zuweisungen vom übergeordneten Ordner übernehmen. Wenn Sie dieses Flag verwenden, werden die Flags --job_type, --assignee_type und --assignee_id angewendet. Der Standardwert ist false.
--schema={true|false}
Wenn Sie nur das Schema der Tabelle anzeigen lassen möchten, legen Sie true fest. Der Standardwert ist false.
--transfer_config={true|false}
Legen Sie true fest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert ist false.
--transfer_run={true|false}
Legen Sie true fest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert ist false.
--view={true|false}
Legen Sie true fest, um Informationen zu einer Ansicht aufzurufen. Der Standardwert ist false.
RESOURCE
Die Ressource, deren Informationen Sie aufrufen möchten.

Weitere Informationen zur Verwendung des Befehls bq show finden Sie hier:

bq update

Verwenden Sie den Befehl bq update, um eine Ressource zu ändern.

Zusammenfassung

bq update [FLAGS] [RESOURCE]

Flags und Argumente

Der Befehl bq update verwendet die folgenden Flags und Argumente:

--capacity_commitment={true|false}
Zum Aktualisieren einer Kapazitätszusicherung legen Sie true fest. Der Standardwert ist false. Verwenden Sie dieses Flag mit den Flags --merge, --plan, --renewal_plan, --split und --slots.
--clear_label=KEY:VALUE
Entfernt ein Label aus der Ressource. Verwenden Sie das Format KEY:VALUE, um das zu entfernende Label anzugeben. Verwenden Sie dieses Flag wiederholt, um mehrere Labels zu entfernen.
--clustering_fields=COLUMNS
Aktualisiert die Clustering-Spezifikation einer Tabelle. Der Wert COLUMNS ist eine durch Kommas getrennte Liste von Spaltennamen, die für das Clustering verwendet werden. Zum Entfernen des Clusterings legen Sie für COLUMNS den Wert "" (leerer String) fest. Weitere Informationen finden Sie unter Clustering-Spezifikation ändern.
--dataset={true|false} oder -d={true|false}
Wenn Sie ein Dataset aktualisieren möchten, legen Sie true fest. Der Standardwert ist false.
--default_kms_key=KEY
Gibt die standardmäßige Cloud KMS-Schlüsselressourcen-ID zum Verschlüsseln von Tabellendaten in einem Dataset an. Der Standardschlüssel wird verwendet, wenn bei der Tabellenerstellung oder -abfrage kein expliziter Schlüssel angegeben wird.
--default_partition_expiration=SECONDS

Eine Ganzzahl, die die Standardablaufzeit in Sekunden für alle Partitionen in neu erstellten partitionierten Tabellen im Dataset angibt. Für dieses Flag gilt kein Mindestwert.

Die Ablaufzeit einer Partition entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert. Wenn dieses Attribut festgelegt ist, wird der Ablauf der Standardtabelle auf Dataset-Ebene überschrieben, sofern vorhanden. Wenn Sie beim Erstellen oder Aktualisieren einer partitionierten Tabelle das Flag --time_partitioning_expiration angeben, hat der Ablauf der Partition auf Tabellenebene Vorrang vor dem Ablaufdatum der Standardpartition auf Dataset-Ebene. Geben Sie 0 an, um einen vorhandenen Ablauf zu entfernen.

--default_table_expiration=SECONDS

Eine Ganzzahl, die die Standardlebensdauer in Sekunden für neu erstellte Tabellen in einem Dataset aktualisiert. Die Ablaufzeit entspricht der aktuellen UTC-Zeit plus dem ganzzahligen Wert. Geben Sie 0 an, um den vorhandenen Ablauf zu entfernen.

--description=DESCRIPTION

Aktualisiert die Beschreibung eines Datasets, einer Tabelle, eines Tabellen-Snapshots (Vorschau), eines Modells oder einer Ansicht.

--destination_reservation_id=RESERVATION_ID

Bei Verwendung mit dem Flag --reservation_assignment wird eine vorhandene Reservierungszuweisung in die angegebene Reservierung verschoben. Der Wert ist die ID der Zielreservierung. Weitere Informationen finden Sie unter Zuweisung in eine andere Reservierung verschieben.

--display_name=DISPLAY_NAME

Aktualisiert den Anzeigenamen für eine Übertragungskonfiguration.

--etag=ETAG

Fungiert als Filter. Aktualisiert die Ressource nur, wenn die Ressource über ein ETag verfügt, das mit dem im Argument ETAG angegebenen String übereinstimmt.

--expiration SECONDS

Fügen Sie dieses Flag ein, um die Ablaufzeit für die Tabelle, das Modell, den Tabellen-Snapshot (Vorschau) oder die Ansicht zu aktualisieren. Ersetzen Sie SECONDS durch die Anzahl der Sekunden von der Aktualisierungszeit bis zur Ablaufzeit. Wenn Sie die Ablaufzeit einer Tabelle, eines Modells, eines Tabellen-Snapshots oder einer Ansicht (Vorschau) oder Ansicht entfernen möchten, setzen Sie das Argument SECONDS auf 0.

--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}

Aktualisiert eine externe Tabelle mit der angegebenen Tabellendefinition. Die Tabellendefinition kann ein Pfad zu einer lokalen JSON-Tabellendefinitionsdatei oder eine Inline-Tabellendefinition im Format SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI sein. Der Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. Wenn Sie eine Tabellendefinitionsdatei verwenden, verwenden Sie keine Endung.

Beispiel:

--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

--ignore_idle_slots={true|false}

Wird mit dem Flag --reservation verwendet. Legen Sie true fest, wenn Sie die Jobs beschränken möchten, die in der angegebenen Reservierung ausgeführt werden, sodass nur Slots verwendet werden, die dieser Reservierung zugewiesen sind. Der Standardwert ist false. Jobs in der angegebenen Reservierung können inaktive Slots aus anderen Reservierungen oder Slots verwenden, die keiner Reservierung zugewiesen sind. Weitere Informationen finden Sie unter Inaktive Slots.

--merge={true|false}

Wird mit dem Flag --capacity_commitment verwendet. Legen Sie true fest, um zwei Kapazitätszusicherungen zusammenzuführen. Der Standardwert ist false. Weitere Informationen finden Sie unter Zwei Zusicherungen zusammenführen.

--model={true|false} oder -m={true|false}

Legen Sie true fest, um Metadaten für ein BigQuery ML-Modell zu aktualisieren. Der Standardwert ist false.

--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}

Aktualisiert Parameter für eine Übertragungskonfiguration. Die Parameter variieren je nach Datenquelle. Weitere Informationen finden Sie in der Einführung in BigQuery Data Transfer Service.

--plan=PLAN

Wenn das Flag mit dem Flag --capacity_commitment verwendet wird, wird eine Kapazitätszusicherung in eine Zusicherung mit längerer Dauer umgewandelt. Beispiele:

  • FLEX
  • MONTHLY
  • ANNUAL
--refresh_window_days=DAYS

Eine Ganzzahl, die ein aktualisiertes Aktualisierungsfenster (in Tagen) für eine Übertragungskonfiguration angibt.

--renewal_plan=PLAN

Gibt bei Verwendung mit dem Flag --capacity_commitment den Verlängerungsplan für eine vorhandene Kapazitätszusicherung an. Beispiele:

  • FLEX
  • MONTHLY
  • ANNUAL
--reservation={true|false}

Gibt an, ob eine Reservierung aktualisiert werden soll. Der Standardwert ist false.

--reservation_assignment={true|false}

Gibt an, ob eine Reservierungszuweisung aktualisiert werden soll. Der Standardwert ist false

--schema={SCHEMA_FILE|SCHEMA}

Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiel:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--set_label=KEY:VALUE

Gibt das zu aktualisierende Label an. Zum Aktualisieren mehrerer Labels wiederholen Sie dieses Flag.

--slots=NUMBER_OF_SLOTS

Gibt bei Verwendung mit den Flags --capacity_commitment und --split die Anzahl der Slots an, die von einer vorhandenen Kapazitätszusicherung in eine neue Zusicherung aufgeteilt werden sollen. Bei Verwendung mit dem Flag --reservation, wird die Anzahl der Slots in einer Reservierung aktualisiert.

--source=FILE

Der Pfad zu einer lokalen JSON-Datei, die eine Nutzlast zum Aktualisieren einer Ressource enthält. Mit diesem Flag können Sie beispielsweise eine JSON-Datei angeben, die eine Dataset-Ressource mit einem aktualisierten access-Attribut enthält. Die Datei wird verwendet, um die Zugriffssteuerungen des Datasets zu überschreiben.

--split={true|false}

Gibt bei Verwendung mit dem Flag --capacity_commitment an, ob eine vorhandene Kapazitätszusicherung aufgeteilt werden soll. Der Standardwert ist false. Weitere Informationen finden Sie unter Zusicherung teilen.

--table={true|false} oder -t={true|false}

Gibt an, ob eine Tabelle aktualisiert werden soll. Der Standardwert ist false.

--target_dataset=DATASET

Aktualisiert das Ziel-Dataset für eine Übertragungskonfiguration.

--time_partitioning_expiration=SECONDS

Eine Ganzzahl, die (in Sekunden) aktualisiert wird, wenn eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.

--time_partitioning_field=COLUMN_NAME

Aktualisiert das Feld, mit dem festgelegt wird, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.

--time_partitioning_type=INTERVAL

Gibt den Partitionierungstyp an. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR

Sie können den Partitionierungstyp einer vorhandenen Tabelle nicht ändern.

--transfer_config={true|false}

Gibt an, ob eine Übertragungskonfiguration aktualisiert werden soll. Der Standardwert ist false.

--update_credentials={true|false}

Gibt an, ob die Anmeldedaten für die Übertragungskonfiguration aktualisiert werden sollen. Der Standardwert ist false.

--use_legacy_sql={true|false}

Legen Sie false fest, um die SQL-Abfrage für eine Ansicht von Legacy-SQL auf Standard-SQL zu aktualisieren. Der Standardwert ist true. Die Abfrage verwendet Legacy-SQL.

--view=QUERY

Wenn dieses Flag angegeben ist, wird die SQL-Abfrage für eine Ansicht aktualisiert.

--view_udf_resource=FILE

Aktualisiert den Cloud Storage-URI oder den Pfad zu einer lokalen Codedatei, die sofort als benutzerdefinierte Funktionsressource in die SQL-Abfrage einer Ansicht geladen und dort ausgewertet wird. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.

RESOURCE

Die Ressource, die Sie aktualisieren möchten.

Weitere Informationen zur Verwendung des Befehls bq update finden Sie hier:

bq version

Verwenden Sie den Befehl bq version, um die Versionsnummer Ihres bq-Befehlszeilentools aufzurufen.

Zusammenfassung

bq version

bq wait

Verwenden Sie den Befehl bq wait, um eine angegebene Anzahl von Sekunden darauf zu warten, dass ein Job abgeschlossen wird. Wenn kein Job angegeben ist, wartet der Befehl, bis der aktuelle Job abgeschlossen ist.

Zusammenfassung

bq wait [FLAGS] [JOB] [SECONDS]

Beispiele

bq wait
bq wait --wait_for_status=RUNNING 12345 100

Flags und Argumente

Der Befehl bq wait verwendet die folgenden Flags und Argumente:

--fail_on_error={true|false}
Um den Job als erfolgreich zurückzugeben, wenn der Job während der Wartezeit abgeschlossen wurde, auch wenn er fehlgeschlagen ist, legen Sie false fest. Der Standardwert ist true. Nach Ablauf der Wartezeit wird der Befehl mit einem Fehler beendet, wenn der Job noch ausgeführt wird oder abgeschlossen wurde, aber fehlgeschlagen ist.
--wait_for_status=STATUS

Wenn angegeben, wird auf einen bestimmten Jobstatus gewartet, bevor der Vorgang beendet wird. Verwenden Sie einen der folgenden Werte:

  • PENDING
  • RUNNING
  • DONE

Der Standardwert ist DONE.

JOB

Gibt den Job an, auf den gewartet werden soll. Mit dem Befehl bq ls --jobs myProject können Sie nach einer Jobkennung suchen.

SECONDS

Gibt die maximale Wartezeit in Sekunden dafür an, dass der Job abgeschlossen wird. Wenn Sie 0 eingeben, fragt der Befehl den Job ab und wird nach dessen Abschluss sofort zurückgegeben. Wenn Sie keinen ganzzahligen Wert angeben, wartet der Befehl, bis der Job abgeschlossen ist.