Methode: projects.locations.transferConfigs.runs.startBigQueryJobs

Dem Data Transfer Service wird mitgeteilt, dass die Daten geladen werden können. Der Data Transfer Service startet und überwacht mehrere BigQuery-Ladejobs für eine Übertragungsausführung. Überwachte Jobs werden automatisch wiederholt und beim Starten und Beenden eines Jobs werden Log-Nachrichten generiert. Kann für eine Übertragungsausführung mehrfach aufgerufen werden.

HTTP-Anfrage

POST https://bigquerydatatransfer.googleapis.com/v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}:startBigQueryJobs

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
name

string

Der Name der Ressource im Format "projects/{projectId}/locations/{locationId}/transferConfigs/{configId}/runs/{run_id}"

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung

{
  "importedData": [
    {
      object(ImportedDataInfo)
    }
  ],
  "userCredentials": string
}
Felder
importedData[]

object(ImportedDataInfo)

Importiert Jobs, die gestartet und überwacht werden sollen.

userCredentials

string (bytes format)

Nutzeranmeldedaten, die zum Starten/Überwachen von BigQuery-Jobs verwendet werden sollen. Falls nicht angegeben, werden Jobs mit den Anmeldedaten des Datenquellen-Dienstkontos gestartet. Dies kann ein OAuth- oder JWT-Token sein.

Ein base64-codierter String

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

ImportedDataInfo

Beschreibt Daten, die importiert werden sollen.

JSON-Darstellung

{
  "sql": string,
  "destinationTableId": string,
  "destinationTableDescription": string,
  "tableDefs": [
    {
      object(TableDefinition)
    }
  ],
  "userDefinedFunctions": [
    string
  ],
  "writeDisposition": enum(WriteDisposition)
}
Felder
sql

string

Die SQL-Abfrage, die auszuführen ist. Wenn das Feld leer ist, prüft die API, ob nur eine "table_def" angegeben ist, und lädt die entsprechende Tabelle. Es werden nur Standard-SQL-Abfragen angenommen. Legacy-SQL ist nicht zulässig.

destinationTableId

string

Tabelle, in die die Ergebnisse geschrieben werden sollen.

destinationTableDescription

string

Die Beschreibung einer Zieltabelle. Dies können mehrere Sätze oder Absätze sein, die den Inhalt der Tabelle ausführlich beschreiben.

tableDefs[]

object(TableDefinition)

Beschreibt OHNE den Parameter "sql" das Schema der Zieltabelle. Bei Verwendung MIT dem Parameter "sql" werden Tabellen mit Daten beschrieben, die außerhalb von BigQuery gespeichert sind.

userDefinedFunctions[]

string

Der Inline-Code für benutzerdefinierte Funktionsressourcen. Wird ignoriert, wenn der Parameter "sql" leer ist.

writeDisposition

enum(WriteDisposition)

Gibt die Aktion an, wenn die Zieltabelle bereits vorhanden ist.

TableDefinition

Die externe Tabellendefinition. Auf diese Tabellen kann in der Abfrage mit "name" verwiesen werden. Die Tabellen können wie jede andere Tabelle gelesen werden.

JSON-Darstellung

{
  "tableId": string,
  "sourceUris": [
    string
  ],
  "format": enum(Format),
  "maxBadRecords": number,
  "encoding": enum(Encoding),
  "csvOptions": {
    object(CsvOptions)
  },
  "schema": {
    object(RecordSchema)
  },
  "ignoreUnknownValues": boolean
}
Felder
tableId

string

Die BigQuery-Tabellen-ID (erforderlich). Mit diesem Feld wird in der Abfrage auf diese Tabelle verwiesen.

sourceUris[]

string

Die URIs für die zu importierenden Daten. Alle URIs müssen aus demselben Speichersystem stammen.

format

enum(Format)

Beschreibt das Format der Daten in "source_uri".

maxBadRecords

number

Gibt die maximale Anzahl fehlerhafter Datensätze an, die ignoriert werden können. Wenn fehlerhafte Datensätze diesen Schwellenwert überschreiten, wird die Abfrage abgebrochen.

encoding

enum(Encoding)

Gegebenenfalls die Zeichencodierung der Eingabe (CSV, JSON). Ist standardmäßig auf UTF8 eingestellt.

csvOptions

object(CsvOptions)

CSV-spezifische Optionen.

schema

object(RecordSchema)

Ein optionales Schema für die Daten. Wenn das Schema für JSON- und CSV-Formate nicht angegeben ist, wird versucht, es automatisch zu erkennen.

ignoreUnknownValues

boolean

Gibt an, ob zusätzliche Werte, die nicht im Tabellenschema enthalten sind, zulässig sind.

Format

Das Datenformat.

Enums
FORMAT_UNSPECIFIED Nicht spezifiziertes Format. In diesem Fall muss das Format aus der Datenquelle abgeleitet werden.
CSV CSV-Format.
JSON Durch Zeilenumbruch getrenntes JSON.
AVRO Avro-Format. Siehe http://avro.apache.org.
RECORDIO RecordIO.
COLUMNIO ColumnIO.
CAPACITOR Capacitor.
PARQUET Parquet-Format. Siehe https://parquet.apache.org.
ORC ORC-Format. Siehe https://orc.apache.org.

Codierung

Die Codierung von Eingabedaten im CSV-/JSON-Format.

Enums
ENCODING_UNSPECIFIED Die Standardcodierung (UTF8).
ISO_8859_1 Die ISO_8859_1-Codierung.
UTF8 Die UTF-8-Codierung.

CsvOptions

CSV-spezifische Optionen.

JSON-Darstellung

{
  "fieldDelimiter": string,
  "allowQuotedNewlines": boolean,
  "quoteChar": string,
  "skipLeadingRows": string,
  "allowJaggedRows": boolean
}
Felder
fieldDelimiter

string

Das Trennzeichen. Dies ist derzeit auf U+0001 bis U+00FF beschränkt. Während der Validierung werden zusätzliche Beschränkungen angewendet.

allowQuotedNewlines

boolean

Ob in CSV-Dateien Abschnitte in Anführungszeichen mit Zeilenumbrüchen zulässig sind. Wenn Abschnitte in Anführungszeichen mit Zeilenumbrüchen zulässig sind, können CSV-Dateien nicht geteilt werden.

quoteChar

string

Das Anführungszeichen. Dies ist derzeit auf U+0000 bis U+00FF beschränkt. Während der Validierung werden zusätzliche Beschränkungen angewendet. Legen Sie dieses Feld auf '\0' fest, um anzugeben, dass kein Anführungszeichen verwendet wird.

skipLeadingRows

string (Int64Value format)

Die Anzahl der führenden Zeilen, die übersprungen werden sollen.

allowJaggedRows

boolean

Lässt Zeilen zu, in denen nachgestellte optionale Spalten fehlen.

RecordSchema

Beschreibt das Schema der Daten, die aufzunehmen sind.

JSON-Darstellung

{
  "fields": [
    {
      object(FieldSchema)
    }
  ]
}
Felder
fields[]

object(FieldSchema)

Ein Feld pro Spalte im Datensatz.

FieldSchema

Definiert das Schema eines Feldes in den importierten Daten.

JSON-Darstellung

{
  "fieldName": string,
  "type": enum(Type),
  "isRepeated": boolean,
  "description": string,
  "schema": {
    object(RecordSchema)
  }
}
Felder
fieldName

string

Der Name des Feldes. Entspricht [A-Za-z_][A-Za-z_0-9]{0,127}.

type

enum(Type)

Der Typ des Feldes.

isRepeated

boolean

Ob das Feld wiederholt wird.

description

string

Die Beschreibung für dieses Feld.

schema

object(RecordSchema)

Ist vorhanden, wenn "type" = RECORD.

Typ

Feldtyp LINT.IfChange.

Enums
TYPE_UNSPECIFIED Ungültiger Wert.
STRING 64 KB, UTF8.
INTEGER 64-Bit-signiert.
FLOAT 64-Bit-IEEE-Gleitkomma.
RECORD Aggregationstyp.
BYTES 64 KB, binär.
BOOLEAN Zweiwertig.
TIMESTAMP 64-Bit-signierte Mikrosekunde seit der UTC-Epoche.
DATE Ziviles Datum – Jahr, Monat, Tag.
TIME Zivile Uhrzeit – Stunde, Minute, Sekunde, Mikrosekunden.
DATETIME Kombination aus zivilem Datum und ziviler Uhrzeit.
NUMERIC Numerischer Typ mit einer Genauigkeit von 38 Dezimalstellen und einer Skalierung von neun Dezimalstellen.
GEOGRAPHY Geografieobjekt (go/googlesql_geography).

WriteDisposition

Optionen zum Schreiben in die Tabelle. Die Option WRITE_EMPTY wird absichtlich aus der Enum ausgeschlossen und wird vom Data Transfer Service nicht unterstützt.

Enums
WRITE_DISPOSITION_UNSPECIFIED Die standardmäßige writeDispostion
WRITE_TRUNCATE überschreibt die Tabellendaten.
WRITE_APPEND die Daten werden an die Tabelle angehängt. Beachten Sie, dass bei Verwendung dieses Modus Duplikate auftreten können.

Testen!