In diesem Dokument erfahren Sie, wie Sie mit Kompilierungsüberschreibungen mithilfe der Dataform API.
Dataform API-Kompilierungsüberschreibungen
Zum Ausführen Ihres SQL-Workflows kompiliert Dataform Ihren Code in SQL, um eine Zusammenstellung erstellen Ergebnis. Dann, während eines Workflows Aufruf Dataform führt das Kompilierungsergebnis in BigQuery aus.
Standardmäßig verwendet Dataform Einstellungen in den Datei mit Workflow-Einstellungen um das Kompilierungsergebnis zu erstellen. Um Daten zu isolieren, die in verschiedenen Phasen ausgeführt werden Ihres Entwicklungszyklus können Sie die Standardeinstellungen Kompilierungsüberschreibungen.
Wenn Sie Dataform API-Anfragen an das Terminal übergeben, können Sie eine einzelnes Kompilierungsergebnis mit Kompilierungsüberschreibungen. Sie können ein Kompilierungsergebnis eines Arbeitsbereichs oder eines ausgewählten Git-Commits.
Um ein Kompilierungsergebnis mit Kompilierungsüberschreibungen zu erstellen, müssen Sie die Methode
Dataform API
compilationResults.create
In der Anfrage müssen Sie eine Quelle angeben, einen
Workspace oder Git Commitish verwenden, damit Dataform
Kompilierungsergebnis. Im
CodeCompilationConfig
der compilationResults.create
-Anfrage enthält, können Sie die Kompilierung konfigurieren
Überschreibungen.
Sie können dann das erstellte Kompilierungsergebnis in einer
Dataform API
workflowInvocations.create
Mit der Dataform API können Sie die folgenden Kompilierungsüberschreibungen konfigurieren:
Google Cloud
Projekt
:
Google Cloud-Projekt, in dem Dataform die
Kompilierungsergebnis, festgelegt in workflow_settings.yaml
als defaultProject
oder in dataform.json
als defaultDatabase
.
- Tabellenpräfix
- Benutzerdefiniertes Präfix wird allen Tabellennamen im Kompilierungsergebnis.
- Schema suffix
- Benutzerdefiniertes Suffix, das an das Tabellenschema angehängt wird
definiert in
defaultDataset
inworkflow_settings.yaml
,defaultSchema
indataform.json
oder inschema
im Blockconfig
einer Tabelle.
Der Wert einer Kompilierung Variable : Wert einer Kompilierungsvariable, die im Kompilierungsergebnis verwendet werden soll. Ich kann Kompilierungsvariablen verwenden, um Tabellen bedingt auszuführen.
Als Alternative zu Überschreibungen von Dataform API-Kompilierungen, die Sie nur Für ein Kompilierungsergebnis können Sie Überschreibungen von Arbeitsbereichskompilierungen konfigurieren in der Google Cloud Console.
Weitere Informationen zu alternativen Möglichkeiten zum Konfigurieren von Kompilierungsüberschreibungen in Dataform, siehe Einführung in Code Lebenszyklus.
Hinweise
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository aus oder erstellen Sie ein Repository.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
Quelle für Kompilierungsergebnisse festlegen
So rufen Sie die Dataform API auf:
compilationResults.create
-Anforderung eine Quelle für das Kompilierungsergebnis angeben.
Sie können einen Dataform-Arbeitsbereich, einen Git-Branch, ein Git-Tag oder Git festlegen.
Commit SHA als Quelle in der
compilationResults.create
Arbeitsbereich als Quelle für Kompilierungsergebnisse festlegen
- Im
compilationResults.create
-Anfrage geben Sie für das Attributworkspace
den Pfad Dataform-Arbeitsbereich im folgenden Format:
{
"workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
}
Ersetzen Sie Folgendes:
- PROJECT_NAME durch den Namen Ihres Google Cloud-Projekts.
- LOCATION durch den Speicherort Ihres Dataform-Repositorys. die in den Workfloweinstellungen festgelegt wurden.
- REPOSITORY_NAME durch den Namen Ihres Dataform-Objekts zu erstellen.
- WORKSPACE_NAME durch den Namen Ihres Dataform-Arbeitsbereichs.
Das folgende Codebeispiel zeigt das Attribut workspace
im
Die compilationResults.create
-Anfrage wurde an einen Arbeitsbereich namens "sales-test"
festgelegt:
{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}
Git-Commitish als Quelle für Kompilierungsergebnisse festlegen
Im
compilationResults.create
-Anfrage, geben Sie für das AttributgitCommitish
den ausgewählten Git-Zweig ein. -Tag oder führen Sie den Commit für SHA im folgenden Format durch:{ "gitCommitish": "GIT_COMMITISH" }
Ersetzen Sie GIT_COMMITISH durch den ausgewählten Git-Zweig, das Git-Tag oder ein Git. Führen Sie einen Commit für SHA für das Kompilierungsergebnis durch.
Das folgende Codebeispiel zeigt das Attribut gitCommitish
im
Anfrage für compilationResults.create
auf "staging"
festgelegt:
{
"gitCommitish": "staging"
}
Google Cloud-Standardprojekt überschreiben
Um Staging- oder Produktionstabellen in einem Google Cloud-Projekt zu erstellen,
das für die Entwicklung verwendete Projekt verwendet wird, können Sie ein anderes Google Cloud-Projekt
ID im Feld
CodeCompilationConfig
in der Dataform API
compilationResults.create
Separate Standardprojekt-ID in der compilationResults.create
-Anfrage übergeben
überschreibt die standardmäßige Google Cloud-Projekt-ID, die im
Datei mit Workflow-Einstellungen
ohne jedoch Google Cloud-Projekt-IDs zu überschreiben.
die in einzelnen Tabellen konfiguriert wurden.
Wenn Sie die standardmäßige Google Cloud-Projekt-ID überschreiben möchten, legen Sie die
defaultDatabase
fest. mit der ausgewählten Google Cloud-Projekt-ID imCodeCompilationConfig
-Objekt im folgenden Format:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }
Ersetzen Sie PROJECT_NAME durch die gewünschte Google Cloud-Projekt-ID. für das Kompilierungsergebnis festzulegen.
Tabellenpräfix hinzufügen
Um Tabellen schnell aus dem Kompilierungsergebnis zu identifizieren, können Sie
Tabellennamen im Kompilierungsergebnis durch Übergabe des Tabellenpräfixes im
CodeCompilationConfig
in der Dataform API
compilationResults.create
- Um ein Tabellenpräfix hinzuzufügen, legen Sie das Attribut
tablePrefix
in derCodeCompilationConfig
-Objekt im folgenden Format:
{
"codeCompilationConfig": {
"tablePrefix": "PREFIX",
}
}
Ersetzen Sie PREFIX durch das Suffix, das Sie anhängen möchten, z. B.:
_staging
. Beispiel: Ihr defaultDataset
in workflow_settings.yaml
ist
auf dataform
gesetzt ist, erstellt Dataform Tabellen im
dataform_staging
-Schema.
Schemasuffix anhängen
Sie können ein Suffix anhängen, um Entwicklungs-, Staging- und Produktionsdaten voneinander zu trennen.
zu Schemas in einem Kompilierungsergebnis hinzu, indem Sie das Schema-Suffix im
CodeCompilationConfig
in der Dataform API
compilationResults.create
- Wenn Sie ein Schemasuffix anhängen möchten, legen Sie das Attribut
schemaSuffix
in derCodeCompilationConfig
-Objekt im folgenden Format:
{
"codeCompilationConfig": {
"schemaSuffix": "SUFFIX",
}
}
Ersetzen Sie SUFFIX durch das Suffix, das Sie anhängen möchten, z. B.:
_staging
. Beispiel: Ihr defaultDataset
in workflow_settings.yaml
ist
auf dataform
gesetzt ist, erstellt Dataform Tabellen im
dataform_staging
-Schema.
Hinweis: Der CodeCompilationConfig
schemaSuffix
überschreibt Schemas, die im Block config
von
für einzelne Dateien.
Ausgewählte Dateien mit Kompilierungsvariablen bedingt ausführen
Wenn Sie eine ausgewählte Tabelle nur in einer bestimmten Ausführungseinstellung ausführen möchten, können Sie
Kompilierungsvariable erstellen
für die Ausführungseinstellung hinzu und übergeben Sie dann deren Wert in der
CodeCompilationConfig
in der Dataform API
compilationResults.create
Um eine Tabelle in einer bestimmten Ausführungseinstellung bedingt auszuführen, verwenden Sie Dataform API gehen Sie so vor:
- Erstellen Sie eine Kompilierungsvariable und fügen Sie sie zu ausgewählten Tabellen.
Legen Sie das Schlüssel/Wert-Paar YOUR_VARIABLE und VALUE in der
codeCompilationConfig
Block Dataform API-Kompilierungsanfrage in der folgendes Format:{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }
Ersetzen Sie YOUR_VARIABLE durch den Namen der Variablen, z. B. durch den Namen der Variablen.
executionSetting
.Ersetzen Sie VALUE durch den Wert der Variablen für diese Kompilierung Ergebnis, das die
when
-Bedingung erfüllt Tabellen.
Im folgenden Codebeispiel sehen Sie, wie die Variable executionSetting
an eine übergeben wird.
Dataform API-Kompilierungsanfrage:
{
"gitCommitish": "staging",
"codeCompilationConfig": {
"vars": {
"executionSetting": "staging"
}
}
}
Kompilierungsergebnis mit Kompilierungsüberschreibungen ausführen
- So führen Sie das Kompilierungsergebnis aus, das von einem
compilationResults.create
erstellt wurde übergeben Sie die ID des Kompilierungsergebnisses,compilationResults.create
-Anfrage in einemworkflowInvocations.create
Das folgende Codebeispiel zeigt eine Kompilierungsergebnis-ID, die in einem
workflowInvocations.create
Anfrage:
{
"compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}
Nächste Schritte
- Weitere Informationen zum Konfigurieren von Kompilierungsüberschreibungen in Dataform, siehe Einführung in Code Lebenszyklus.
- Weitere Informationen zur Dataform API finden Sie unter Dataform API.
- Informationen zum Konfigurieren von Kompilierungsüberschreibungen mit der Google Cloud Console Für alle Arbeitsbereiche in einem Repository siehe Kompilierung von Arbeitsbereichen konfigurieren Überschreibungen.