In diesem Dokument werden die Methoden, Eigenschaften und Konfigurationsoptionen von Dataform-Kern. Sie können Dataform Core in SQLX verwenden. und JavaScript-Dateien.
assert()
assert
|
(name: string, query?: AContextable
|
Fügt der kompilierten Grafik eine Dataform-Assertion hinzu. Nur im Verzeichnis |
Beispiel:
// definitions/file.js
assert("name").query(ctx => "select 1");
CommonContext
Kontextmethoden stehen für die Auswertung
kontextfähiger SQL-Codes zur Verfügung.
wie in SQLX-Dateien
oder bei Verwendung eines
Argument Contextable
mit Dataform Core.
database
|
() => string
|
Gibt die Datenbank dieses Datasets zurück, sofern zutreffend. | |
name
|
() => string
|
Gibt den Namen dieser Tabelle zurück. | |
ref
|
(ref: Resolvable | string[], rest: string[]) => string
|
Verweist auf eine andere Aktion und fügt sie als Abhängigkeit von dieser Aktion hinzu
gibt gültigen SQL-Code zurück, der in einem from -Ausdruck verwendet werden soll.
Diese Funktion kann mit einem
Diese Funktion kann auch mit individuellen Argumenten für die
${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Ähnlich wie ref , enthält aber nicht das referenzierte Feld
Aktion als Abhängigkeit von dieser Aktion.
|
|
self
|
() => string
|
Entspricht resolve(name()) .
Gibt einen gültigen SQL-String zurück, mit dem auf die Tabelle verwiesen werden kann die durch diese Aktion erzeugt wurden. |
|
schema
|
() => string
|
Gibt das Schema dieses Datasets zurück. |
Kontextfähig
Kontextfähige Argumente können entweder einen einfachen Wert für ihren generischen Typ übergeben
T
oder eine Funktion, die mit dem entsprechenden Kontextobjekt aufgerufen wird
Art des Vorgangs.
T | (ctx: Context) => T
Dataform
Globale Variable, die das Objekt IProjectConfig enthält.
Erforderlich zum Abrufen von IProjectConfig
-Properties. Beispiel:
dataform.projectConfig.vars.myVariableName === "myVariableValue"
declare()
declare
|
(dataset: dataform.ITarget)
|
Deklariert das Dataset als Dataform-Datenquelle. Nur im Verzeichnis |
Beispiel:
// definitions/file.js
declare({name: "a-declaration"})
IActionConfig
Definition von Dataform-Tags und Abhängigkeiten auf eine SQL-Workflowaktion angewendet.
tags
|
string[]
|
Eine Liste benutzerdefinierter Tags, mit denen die Aktion gekennzeichnet werden soll. |
|
dependencies
|
Resolvable| Resolvable[]
|
Abhängigkeiten der Aktion. |
|
disabled
|
boolean
|
Ist sie auf „true“ gesetzt, wird diese Aktion nicht ausgeführt. Die Aktion kann jedoch noch davon abhängig sein können. Nützlich, um fehlerhafte Aktionen vorübergehend zu deaktivieren. |
IAssertionConfig
Konfigurationsoptionen für assertion
Aktionstypen.
database
|
string
|
Die Datenbank (Google Cloud-Projekt-ID), in der erstellt werden soll die entsprechende Ansicht für diese Assertion. | |
description
|
string
|
Eine Beschreibung dieser Assertion. | |
disabled
|
boolean
|
Wenn dieser Wert auf true gesetzt ist, wird diese Aktion nicht ausgeführt.
Von der Aktion kann immer noch abhängig sein. Nützlich für vorübergehende
Deaktivieren fehlerhafter Aktionen.
|
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Handlung ist hermetisch.
wenn alle Abhängigkeiten explizit deklariert sind.
Ob diese Aktion von Daten aus einer nicht deklarierten Quelle abhängt
als Abhängigkeit. Legen Sie dann |
|
schema
|
string
|
Das Schema (BigQuery-Dataset), in dem erstellt werden soll die entsprechende Ansicht für diese Assertion. | |
tags
|
string[]
|
Eine Liste der benutzerdefinierten Tags, die auf diese Aktion angewendet wurden. |
IBigQueryOptions
BigQuery-spezifische Warehouse-Optionen.
additionalOptions
|
|
Schlüssel/Wert-Paare für Tabelle, Ansicht
und für die materialisierte Ansicht.
Einige Optionen, z. B.
Stringwerte müssen in doppelte Anführungszeichen gesetzt werden. Beispiel:
Wenn der Optionsname Sonderzeichen enthält, setzen Sie ihn in Anführungszeichen.
Beispiel: |
|
clusterBy
|
string[]
|
Die Schlüssel, nach denen Partitionen geclustert werden sollen. | |
labels
|
|
Schlüssel/Wert-Paare für BigQuery-Labels.
Wenn der Labelname Sonderzeichen enthält, z. B. Bindestriche,
und dann den Namen in Anführungszeichen, z. B. |
|
partitionBy
|
string
|
Der Schlüssel, mit dem die Tabelle partitionieren. In der Regel der Name eines Zeitstempels oder der Datumsspalte. | |
partitionExpirationDays
|
number
|
Die Anzahl der Tage, in denen BigQuery Daten speichert für jede Partition. Die Einstellung gilt für alle Partitionen in einer Tabelle, wird jedoch für jede Partition die Partitionszeit. | |
requirePartitionFilter
|
boolean
|
Gibt an, ob für die partitionierte Tabelle ein WHERE erforderlich ist
Prädikatsfilter, der die Partitionierungsspalte filtert.
|
|
updatePartitionFilter
|
string
|
SQL-basierter Filter für den Zeitraum inkrementelle Updates angewendet werden. |
IColumnsDescriptor
Beschreibt Spalten in einer Tabelle.
{ [name]: string | IRecordDescriptor }
IDeclarationConfig
Konfigurationsoptionen für declaration
Aktionstypen.
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten in der Tabelle. | |
database
|
string
|
Die Datenbank (Google Cloud-Projekt-ID), in der erstellt werden soll die Quelltabelle vorhanden ist. | |
description
|
string
|
Eine Beschreibung der Tabelle. | |
schema
|
string
|
Das Schema (BigQuery-Dataset), in dem die Quelltabelle vorhanden ist. |
IDependenciesConfig
Definiert Abhängigkeiten einer SQL-Workflowaktion.
dependencies
|
Resolvable| Resolvable[]
|
Eine oder mehrere explizite Abhängigkeiten für diese Aktion. Abhängigkeitsaktionen
vor abhängigen Aktionen ausgeführt wird.
In der Regel bleibt dieser Wert nicht festgelegt, da die meisten Abhängigkeiten deklariert sind.
als Nebenprodukt der Verwendung der |
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Aktion ist hermetisch, wenn
dass alle Abhängigkeiten explizit deklariert sind. Wenn diese Aktion von
aus einer Quelle stammen, die nicht als Abhängigkeit
deklariert wurde, dann gilt:
|
IDocumentableConfig
Definiert Beschreibungen eines Datasets und seiner Spalten.
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten im Dataset. |
|
description
|
string
|
Eine Beschreibung des Datasets. |
INamedConfig
Definiert den Typ und den Namen einer SQL-Workflowaktion.
type
|
string
|
Der Typ der Aktion. |
|
name
|
string
|
Der Name der Aktion. |
IOperationConfig
Konfigurationsoptionen für operations
Aktionstypen.
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten in der Tabelle. | |
database
|
string
|
Die Datenbank (Google Cloud-Projekt-ID), in der erstellt werden soll die Ausgabe dieser Aktion. | |
description
|
string
|
Eine Beschreibung der Tabelle. | |
disabled
|
boolean
|
Wenn dieser Wert auf true gesetzt ist, wird diese Aktion nicht ausgeführt.
Von der Aktion kann immer noch abhängig sein.
Nützlich, um fehlerhafte Aktionen vorübergehend zu deaktivieren.
|
|
hasOutput
|
boolean
|
Deklariert, dass durch diese operations -Aktion eine Tabelle erstellt wird
das mit der Funktion ref referenzierbar ist.
Wenn create or replace table ${self()} as select ...
|
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Handlung ist hermetisch.
wenn alle Abhängigkeiten explizit deklariert sind.
Ob diese Aktion von Daten aus einer nicht deklarierten Quelle abhängt
als Abhängigkeit. Legen Sie dann |
|
schema
|
string
|
Das Schema (BigQuery-Dataset), in dem erstellt werden soll die Ausgabe dieser Aktion. | |
tags
|
string[]
|
Eine Liste der benutzerdefinierten Tags, die auf diese Aktion angewendet wurden. |
IProjectConfig
Enthält die Kompilierungseinstellungen eines Dataform-Repositorys.
defaultDatabase
|
string
|
Erforderlich. Die Standarddatenbank (Google Cloud-Projekt-ID). | |
defaultSchema
|
string
|
Erforderlich. Das Standardschema (BigQuery-Dataset-ID). | |
defaultLocation
|
string
|
Erforderlich. Der zu verwendende BigQuery-Standardstandort. Weitere Informationen zu BigQuery-Standorten finden Sie unter https://cloud.google.com/bigquery/docs/locations. | |
assertionSchema
|
string
|
Erforderlich. Das Standardschema (BigQuery-Dataset-ID) für Assertions. | |
vars
|
map (key: string, value: string)
|
Optional. Benutzerdefinierte Variablen, die verfügbar gemacht werden
in den Projektcode.
Ein Objekt, das eine Liste von "key": value -Paaren enthält.
Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .
|
|
databaseSuffix
|
string
|
Optional. Das Suffix, das an alle Datenbanken angehängt werden soll (Google Cloud-Projekt-ID). | |
schemaSuffix
|
string
|
Optional. Das Suffix, das an alle Schemas angehängt werden sollte (BigQuery-Dataset-ID). | |
tablePrefix
|
string
|
Optional. Das Präfix, das allen Tabellennamen vorangestellt werden sollte. | |
warehouse
|
string
|
Erforderlich. Muss auf bigquery festgelegt sein.
|
Sie können IProjectConfig
-Eigenschaften in den Workfloweinstellungen festlegen.
auf Repository-Ebene.
Sie können die Eigenschaften defaultSchema
und defaultDatabase
überschreiben für
einzelne Tabellen.
Sie können in einer SQL-SELECT
-Anweisung auf alle IProjectConfig
-Attribute zugreifen
in einer SQLX- oder JavaScript-Datei.
Im folgenden Codebeispiel sehen Sie die benutzerdefinierte Kompilierungsvariable myVariableName
in den Workflow-Einstellungen mit dem
projectConfig.vars
Property,
Zugriff in einer SELECT
-Anweisung in einer SQLX-Datei:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.vars.myVariableName === "myVariableValue",
"myVariableName is set to myVariableValue!",
"myVariableName is not set to myVariableValue!"
)}
Weitere Informationen zum Überschreiben von Projektkonfigurationseinstellungen
für einzelne Kompilierungsergebnisse, siehe
projects.locations.repositories.compilationResults#CodeCompilationConfig
REST-Ressource in
Dataform API.
IRecordDescriptor
Beschreibt eine Struktur, ein Objekt oder einen Datensatz in einer Tabelle mit verschachtelten Spalten.
bigqueryPolicyTags
|
string | string[]
|
Vollständige Kennungen der BigQuery-Richtlinien-Tags angewendet
in diese Spalte ein. Vollständige Kennzeichnung eines BigQuery-Richtlinien-Tags
Projektname, Standort und Taxonomie,
Beispiel: |
|
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten in der Struktur, im Objekt oder im Datensatz. | |
description
|
string
|
Eine Beschreibung der Struktur, des Objekts oder des Eintrags. |
ITableAssertions
Optionen zum Erstellen von Assertions als Teil einer Tabellendefinition.
nonNull
|
string | string[]
|
Spalte(n), die niemals NULL sein darf.
Wenn festgelegt, schlägt die entsprechende Assertion fehl, wenn eine Zeile
|
|
rowConditions
|
string[]
|
Allgemeine Bedingungen, die für alle Zeilen in der Tabelle erfüllt sein müssen.
Wenn festgelegt, schlägt die entsprechende Assertion fehl, wenn eine Zeile gegen die Richtlinien verstößt mindestens eine dieser Bedingungen. |
|
uniqueKey
|
string | string[]
|
Spalte(n), die den eindeutigen Schlüsselindex der Tabelle darstellt.
Wenn dieser Wert festgelegt ist, schlägt die resultierende Assertion fehl, wenn mehr als eine Zeile vorhanden ist in der Tabelle mit denselben Werten für alle diese Spalten ein. |
|
uniqueKeys
|
[]
|
Kombinationen von Spalten, die jeweils einen
Ein eindeutiger Schlüsselindex der Tabelle.
Wenn dieser Wert festgelegt ist, schlägt die resultierende Assertion fehl, wenn mehr als eine Zeile in die Tabelle mit denselben Werten für alle Spalten im eindeutigen Schlüssel. |
ITableConfig
Konfigurationsoptionen für table
-Aktionen, darunter:
table
, view
und incremental
.
Erweitert IActionConfig, IDependenciesConfig, IDocumentableConfig, INamedConfig und ITargetableConfig.
assertions
|
ITableAssertions
|
Assertions, die für die Tabelle ausgeführt werden sollen.
Wenn konfiguriert, werden relevante Assertions automatisch erstellt und als Abhängigkeit dieser Tabelle ausgeführt werden. |
|
bigquery
|
IBigQueryOptions
|
BigQuery-spezifische Warehouse-Optionen. | |
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten in der Tabelle. | |
database
|
string
|
Die Datenbank (Google Cloud-Projekt-ID) in dem die Ausgabe dieser Aktion erstellt werden soll. | |
description
|
string
|
Eine Beschreibung der Tabelle. | |
disabled
|
boolean
|
Wenn dieser Wert auf true gesetzt ist, wird diese Aktion nicht ausgeführt.
Von der Aktion kann immer noch abhängig sein.
Nützlich, um fehlerhafte Aktionen vorübergehend zu deaktivieren.
|
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Aktion ist hermetisch, wenn
dass alle Abhängigkeiten explizit deklariert sind.
Ob diese Aktion von Daten aus einer nicht deklarierten Quelle abhängt
als Abhängigkeit. Legen Sie dann |
|
materialized
|
boolean
|
Nur gültig, wenn der Tabellentyp view ist.
Wenn die Richtlinie auf „true“ gesetzt ist, wird eine materialisierte Ansicht erstellt. |
|
protected
|
boolean
|
Nur für den Tabellentyp incremental zulässig.
Wenn die Richtlinie auf „true“ gesetzt ist, wird beim Ausführen dieser Aktion die Option |
|
schema
|
string
|
Das Schema (BigQuery-Dataset), in dem die Ausgabe dieser Aktion erstellen. | |
tags
|
string[]
|
Eine Liste der benutzerdefinierten Tags, die auf diese Aktion angewendet wurden. | |
type
|
TableType
|
Der Typ der Tabelle. | |
uniqueKey
|
string[]
|
Eindeutige Schlüssel für Zusammenführungskriterien für inkrementelle Tabellen.
Wenn konfiguriert, werden Datensätze mit übereinstimmenden eindeutigen Schlüsseln wie aktualisiert, anstatt neue Zeilen einzufügen. |
ITableContext
Kontextmethoden stehen für die Auswertung
kontextfähiger SQL-Codes zur Verfügung.
z. B. in SQLX-Dateien oder bei Verwendung eines Contextable
mit Dataform-Kern sprechen.
incremental
|
() => boolean
|
Gibt „true“ zurück, wenn der aktuelle Kontext angibt, wird die Tabelle inkrementell erstellt. | |
name
|
() => string
|
Gibt den voll qualifizierten Namen dieser Tabelle zurück. | |
ref
|
(ref: Resolvable | string[], rest: string[]) => string
|
Verweist auf eine andere Aktion und fügt sie als Abhängigkeit von dieser Aktion hinzu
gibt gültigen SQL-Code zurück, der in einem from-Ausdruck verwendet werden soll.
Diese Funktion kann mit einem ${ref({ name: "name", schema: "schema", database: "database" })}
Diese Funktion kann auch mit individuellen Argumenten für die
Wenn nur zwei Werte angegeben werden, wird die Standarddatenbank verwendet und die Werte
werden als Wenn nur ein Wert angegeben ist, wird das Standarddatenbankschema verwendet, mit dem Parameter angegebener Wert als "Name" interpretiert. ${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Ähnlich wie ref , aber ohne eine Abhängigkeit hinzuzufügen,
wird der angegebene Verweis aufgelöst, sodass er in SQL verwendet werden kann.
beispielsweise in einem "Von"-Ausdruck.
|
|
self
|
() => string
|
Entspricht resolve(name()) .
Gibt einen gültigen SQL-String zurück, der als Referenz verwendet werden kann die durch diese Aktion erzeugte Tabelle. |
|
when
|
(cond: boolean, trueCase: string, falseCase: string) => string
|
Kurzschreibweise für eine if -Bedingung.
Entspricht cond ? trueCase : falseCase .
|
ITarget
Ein Verweis auf eine Tabelle in BigQuery.
database
|
string
|
name
|
string
|
schema
|
string
|
ITargetableConfig
Definiert die Zieldatenbank und das Schema einer SQL-Workflowaktion.
database
|
string
|
Die Datenbank, in der die Ausgabe dieser Aktion erstellt werden soll. Muss auf BigQuery festgelegt sein. |
|
schema
|
string
|
Das Schema, in dem die Ausgabe dieser Aktion erstellt werden soll. |
operate()
operate
|
(name: string, queries?: Contextable
|
Definiert einen SQL-Vorgang. Nur im Verzeichnis |
Beispiel:
// definitions/file.js
operate("an-operation", ["SELECT 1", "SELECT 2"])
publish()
publish
|
(name: string, queryOrConfig?: Contextable
|
Erstellt eine Tabelle oder Ansicht. Nur im Verzeichnis |
Beispiel:
// definitions/file.js
publish("published-table", {
type: "table",
dependencies: ["a-declaration"],
}).query(ctx => "SELECT 1 AS test");
Auflösbar
Ein auflösbares Element kann entweder der Name einer Tabelle als string
,
oder das Objekt, das den vollständigen Pfad zu der Beziehung beschreibt.
string | ITarget
TableType
Unterstützte Typen von Tabellenaktionen.
Tabellen vom Typ view
werden als Ansichten erstellt.
Tabellen vom Typ table
werden als Tabellen erstellt.
Tabellen vom Typ incremental
müssen eine where
-Klausel enthalten.
Weitere Informationen finden Sie unter
Inkrementelle Tabellen konfigurieren