In diesem Dokument werden die Methoden, Eigenschaften und Konfigurationsoptionen von Dataform Core beschrieben. Sie können Dataform Core in SQLX verwenden. und JavaScript-Dateien.
assert()
assert
|
(name: string, query?: AContextable
|
Fügen Sie dem kompilierten Diagramm eine Dataform-Bestätigung 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 einzelnen Argumenten für die Werte ${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Ähnlich wie ref , aber die referenzierte Aktion wird dieser Aktion nicht als Abhängigkeit hinzugefügt.
|
|
self
|
() => string
|
Entspricht resolve(name()) .
Gibt einen gültigen SQL-String zurück, der als Verweis auf die durch diese Aktion erstellte Tabelle verwendet werden kann. |
|
schema
|
() => string
|
Gibt das Schema dieses Datasets zurück. |
Kontextfähig
Kontextbezogene Argumente können entweder einen einfachen Wert für ihren generischen Typ T
oder eine Funktion übergeben, die mit dem Kontextobjekt für diesen Vorgangstyp aufgerufen wird.
T | (ctx: Context) => T
Dataform
Globale Variable, die das IProjectConfig-Objekt 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
Hier werden Dataform-Tags und Abhängigkeiten definiert, die auf eine SQL-Workflow-Aktion angewendet werden.
tags
|
string[]
|
Eine Liste benutzerdefinierter Tags, mit denen die Aktion gekennzeichnet werden soll. |
|
dependencies
|
Resolvable| Resolvable[]
|
Abhängigkeiten der Aktion. |
|
disabled
|
boolean
|
Wenn diese Option auf „true“ gesetzt ist, wird die Aktion nicht ausgeführt. Die Aktion kann jedoch weiterhin verwendet werden. 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.
Die Aktion kann weiterhin ausgeführt werden. Nützlich für vorübergehende
Deaktivieren fehlerhafter Aktionen.
|
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Aktion ist hermetisch, wenn alle ihre Abhängigkeiten explizit deklariert sind.
Wenn diese Aktion von Daten aus einer Quelle abhängt, die nicht als Abhängigkeit deklariert ist, setzen Sie |
|
schema
|
string
|
Das Schema (BigQuery-Dataset), in dem die entsprechende Ansicht für diese Behauptung erstellt werden soll. | |
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 wie Bindestrich enthält, setzen Sie ihn in Anführungszeichen, z. B. |
|
partitionBy
|
string
|
Der Schlüssel, nach dem die Tabelle partitioniert wird. In der Regel der Name eines Zeitstempels oder der Datumsspalte. | |
partitionExpirationDays
|
number
|
Die Anzahl der Tage, für die BigQuery Daten in jeder Partition speichert. 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 die Anwendung von inkrementellen Updates. |
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 sich die Quelltabelle befindet. |
IDependenciesConfig
Definiert Abhängigkeiten einer SQL-Workflowaktion.
dependencies
|
Resolvable| Resolvable[]
|
Eine oder mehrere explizite Abhängigkeiten für diese Aktion. Abhängigkeitsaktionen werden vor abhängigen Aktionen ausgeführt.
Normalerweise bleibt diese Option deaktiviert, da die meisten Abhängigkeiten als Nebenprodukt der Verwendung der Funktion |
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Aktion ist hermetisch, wenn alle Abhängigkeiten explizit deklariert sind. Wenn diese Aktion von Daten aus einer Quelle abhängt, die nicht als Abhängigkeit deklariert wurde, muss |
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 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.
|
|
hasOutput
|
boolean
|
Deklariert, dass durch diese operations -Aktion eine Tabelle erstellt wird
das mit der Funktion ref referenzierbar ist.
Wenn dieser Wert auf create or replace table ${self()} as select ...
|
|
hermetic
|
boolean
|
Gibt an, ob diese Aktion hermetisch ist. Eine Aktion ist hermetisch, wenn alle ihre 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 die Ausgabe dieser Aktion erstellt werden soll. | |
tags
|
string[]
|
Eine Liste der benutzerdefinierten Tags, die auf diese Aktion angewendet wurden. |
IProjectConfig
Enthält 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 während der Kompilierung dem Projektcode zur Verfügung gestellt werden.
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 Datenbanknamen (Google Cloud-Projekt-ID) angehängt werden soll. | |
schemaSuffix
|
string
|
Optional. Das Suffix, das an alle Schemanamen (BigQuery-Dataset-ID) angehängt werden soll. | |
tablePrefix
|
string
|
Optional. Das Präfix, das allen Tabellennamen vorangestellt werden sollte. | |
warehouse
|
string
|
Erforderlich. Muss auf bigquery festgelegt sein.
|
Sie können IProjectConfig
-Attribute in den Workflow-Einstellungen auf Repository-Ebene festlegen.
Sie können die Eigenschaften defaultSchema
und defaultDatabase
überschreiben für
einzelne Tabellen.
Sie können in einer SQLX- oder JavaScript-Datei in einer SQL-SELECT
-Anweisung auf alle IProjectConfig
-Eigenschaften zugreifen.
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 ein Struktur-, Objekt- oder Datensatzelement in einer Tabelle mit verschachtelten Spalten.
bigqueryPolicyTags
|
string | string[]
|
Vollständige Kennungen der BigQuery-Richtlinien-Tags angewendet
in diese Spalte ein. Eine vollständige Kennung eines BigQuery-Richtlinien-Tags enthält den Projektnamen, den Standort und die 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 Datensatzes. |
ITableAssertions
Optionen zum Erstellen von Assertions als Teil einer Tabellendefinition.
nonNull
|
string | string[]
|
Spalten, die niemals NULL sein können.
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 bilden.
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 diese Option festgelegt ist, schlägt die resultierende Prüfung fehl, wenn die Tabelle mehr als eine Zeile mit denselben Werten für alle Spalten in den eindeutigen Schlüsseln enthält. |
ITableConfig
Konfigurationsoptionen für table
-Aktionen, einschließlich der Tabellentypen table
, view
und incremental
.
Erweitert IActionConfig, IDependenciesConfig, IDocumentableConfig, INamedConfig und ITargetableConfig.
assertions
|
ITableAssertions
|
Assertions, die für die Tabelle ausgeführt werden sollen.
Wenn sie konfiguriert sind, werden entsprechende Behauptungen automatisch erstellt und als Abhängigkeit dieser Tabelle ausgeführt. |
|
bigquery
|
IBigQueryOptions
|
BigQuery-spezifische Warehouse-Optionen | |
columns
|
IColumnsDescriptor
|
Eine Beschreibung der Spalten in der Tabelle. | |
database
|
string
|
Die Datenbank (Google Cloud-Projekt-ID), in der die Ausgabe dieser Aktion erstellt werden soll. | |
description
|
string
|
Eine Beschreibung der Tabelle. | |
disabled
|
boolean
|
Wenn diese Option auf true festgelegt 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 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 „wahr“ zurück, wenn der aktuelle Kontext angibt, dass die Tabelle inkrementell erstellt wird. | |
name
|
() => string
|
Gibt den voll qualifizierten Namen dieser Tabelle zurück. | |
ref
|
(ref: Resolvable | string[], rest: string[]) => string
|
Verweist auf eine andere Aktion, fügt sie dieser Aktion als Abhängigkeit hinzu und gibt gültiges SQL zurück, das in einem From-Ausdruck verwendet werden kann.
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 wird, wird das Standarddatenbankschema verwendet und der angegebene Wert wird als „name“ interpretiert. ${ref("database", "schema", "name")}
${ref("schema", "name")}
${ref("name")}
|
|
resolve
|
(ref: Resolvable | string[], rest: string[]) => string
|
Ähnlich wie ref , aber anstatt eine Abhängigkeit hinzuzufügen, wird die angegebene Referenz aufgelöst, damit sie in SQL verwendet werden kann, z. B. in einem „from“-Ausdruck.
|
|
self
|
() => string
|
Entspricht resolve(name()) .
Gibt einen gültigen SQL-String zurück, mit dem auf die durch diese Aktion erstellte Tabelle verwiesen werden kann. |
|
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.