In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun können:
- Workflow-Lebenszyklus in Dataform
- Überschreibungen von Arbeitsbereichskompilierungen erstellen
- Kompilierungsüberschreibungen mit der Dataform API konfigurieren
- Releasekonfiguration erstellen
Hinweise
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus oder erstellen Sie eines.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
Optional: Wenn Sie das Standardprojekt Google Cloud in der Releasekonfiguration überschreiben möchten, gewähren Sie Ihrem Dataform-Dienstkonto Zugriff auf das Projekt, das Sie verwenden möchten.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Admin (roles/dataform.admin
) für Repositories zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Wenn Sie die Releaseversion einer Releasekonfiguration für ein Dataform-Repository aktualisieren möchten, wenn der strikte „Act-as“-Modus aktiviert ist, benötigen Sie die Berechtigung iam.serviceAccounts.actAs
für jedes Dienstkonto in den Workflowkonfigurationen, die diese Releasekonfiguration verwenden. Diese Berechtigung ist in der Rolle Dienstkontonutzer (roles/iam.serviceAccountUser
) verfügbar.
Einführung in den Workflow-Lebenszyklus in Dataform
In diesem Abschnitt wird der Workflow-Lebenszyklus in Dataform beschrieben. Außerdem erfahren Sie, wie Sie die Kompilierung und Ausführung in Dataform konfigurieren.
Der Dataform-Workflow-Lebenszyklus besteht aus den folgenden Phasen:
- Entwicklung
- Sie entwickeln einen Workflow in einem Dataform-Arbeitsbereich.
- Compilation
Dataform kompiliert den Workflow-Code in Ihrem Arbeitsbereich in Echtzeit in SQL und erstellt ein Kompilierungsergebnis des Arbeitsbereichs, das Sie in BigQuery ausführen können. Dataform verwendet die Einstellungen, die Sie in der Datei mit den Workflow-Einstellungen definieren, um das Kompilierungsergebnis zu erstellen.
Die Dataform-Kompilierung ist hermetisch, um die Konsistenz der Kompilierung zu gewährleisten. Das bedeutet, dass derselbe Code jedes Mal zum selben SQL-Kompilierungsergebnis kompiliert wird. Dataform kompiliert Ihren Code in einer Sandbox-Umgebung ohne Internetzugang. Während der Kompilierung sind keine zusätzlichen Aktionen wie das Aufrufen externer APIs verfügbar.
- Ausführung
Bei einem Workflow-Aufruf führt Dataform das Ergebnis der Arbeitsbereichkompilierung in BigQuery aus.
Sie können das Kompilierungsergebnis so konfigurieren, dass es beeinflusst, wo und wie Dataform Ihren Workflow ausführt. So können Sie den Dataform-Workflow-Lebenszyklus an Ihre Anforderungen anpassen. Anschließend können Sie Ausführungen manuell auslösen oder planen, um zu beeinflussen, wann Dataform den gesamten Workflow oder ausgewählte Elemente ausführt.
Dataform-Kompilierung konfigurieren
Standardmäßig verwendet Dataform die Einstellungen in der Datei mit den Workflow-Einstellungen, um Kompilierungsergebnisse zu erstellen. Sie können die Standardeinstellungen mit Überschreibungen für die Kompilierung überschreiben, um benutzerdefinierte Kompilierungsergebnisse zu erstellen. Sie können dann die Ausführung eines benutzerdefinierten Kompilierungsergebnisses manuell auslösen oder Ausführungen planen.
Dataform bietet die folgenden Optionen zum Konfigurieren von Kompilierungsergebnissen:
- Überschreibungen von Arbeitsbereichskompilierungen
- Sie können Kompilierungsüberschreibungen konfigurieren, die für alle Arbeitsbereiche in einem Repository gelten. Sie können Überschreibungen von Arbeitsbereichskompilierungen verwenden, um isolierte Entwicklungsumgebungen zu erstellen.
- Releasekonfigurationen
- Sie können Releasekonfigurationen erstellen, um Vorlagen zum Erstellen von Kompilierungsergebnissen eines Dataform-Repositorys zu konfigurieren. Anschließend können Sie eine Workflowkonfiguration erstellen, um Ausführungen von Kompilierungsergebnissen zu planen, die in einer ausgewählten Releasekonfiguration erstellt wurden.
- Dataform API-Kompilierungsüberschreibungen
- Sie können Dataform API-Anfragen im Terminal übergeben, um ein einzelnes Kompilierungsergebnis mit Kompilierungsüberschreibungen zu erstellen und auszuführen.
Kompilierungsüberschreibungen für Arbeitsbereiche konfigurieren
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in einem Dataform-Repository erstellen. Sie können für jedes Repository eine Konfiguration von Kompilierungsüberschreibungen für Arbeitsbereiche erstellen.
Wenn Sie die Ausführung in einem Arbeitsbereich in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen manuell auslösen, wendet Dataform diese Überschreibungen auf das Kompilierungsergebnis des Arbeitsbereichs an.
Sie können die folgenden Überschreibungen von Arbeitsbereichskompilierungen konfigurieren:
- Google Cloud : Projekt, in dem Dataform die Inhalte des Arbeitsbereichs ausführt
- Tabellenpräfix
- Schemasuffix
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Entwicklungsumgebungen erstellen, indem Sie die Ergebnisse der Arbeitsbereichskompilierung in BigQuery mit dynamischen Überschreibungen der Kompilierung isolieren. Kompilierungsüberschreibungen für dynamische Tabellenpräfixe und Schemasuffixe enthalten die Variable ${workspaceName}
.
Wenn Sie eine Ausführung in einem Arbeitsbereich auslösen, ersetzt Dataform die Variable ${workspaceName}
durch den Namen des aktuellen Arbeitsbereichs. So werden Kompilierungsüberschreibungen erstellt, die für den Arbeitsbereich eindeutig sind.
Beachten Sie, dass Sie keine Ausführungen von Kompilierungsergebnissen planen können, die mit Überschreibungen von Arbeitsbereichskompilierungen erstellt wurden.
Releasekonfigurationen erstellen
Mit Releasekonfigurationen können Sie Vorlagen mit Einstellungen zum Erstellen von Kompilierungsergebnissen von Repositories konfigurieren.
In einer Releasekonfiguration können Sie Überschreibungen von Kompilierungen von Workflow-Einstellungen, Kompilierungsvariablen und der Häufigkeit der Erstellung von Kompilierungsergebnissen für Ihr gesamtes Repository konfigurieren.
In einer Releasekonfiguration können Sie die folgenden Überschreibungen für die Kompilierung konfigurieren:
- Google Cloud -Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariable
Sie können mehrere Releasekonfigurationen in einem Dataform-Repository erstellen, eine für jede Phase des Entwicklungszyklus. So erhalten Sie isolierte Ergebnisse der Repository-Kompilierung.
Anschließend können Sie Workflowkonfigurationen erstellen, um Ausführungen zu planen von Kompilierungsergebnissen, die in einer ausgewählten Releasekonfiguration erstellt wurden.
Sie können die Ausführung eines Kompilierungsergebnisses in einer ausgewählten Release-Konfiguration auch manuell auslösen.
Einzelnes Kompilierungsergebnis mit Dataform API-Kompilierungsüberschreibungen konfigurieren
Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie Überschreibungen für ein einzelnes Kompilierungsergebnis konfigurieren.
Im compilationResults.create
-Aufruf können Sie ein einzelnes Kompilierungsergebnis eines Dataform-Arbeitsbereichs oder eines angegebenen Git-Commits erstellen.
Im CodeCompilationConfig
-Objekt der compilationResults.create
-Anfrage können Sie Überschreibungen für die Kompilierungsanfrage konfigurieren.
Sie können die folgenden Dataform API-Kompilierungsüberschreibungen konfigurieren:
- Google Cloud -Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariable
Beachten Sie, dass Dataform API-Kompilierungsüberschreibungen für ein einzelnes Kompilierungsergebnis und eine einzelne Ausführung gelten. Sie können damit keine Dataform-Ausführungen planen.
Sie können ein Kompilierungsergebnis in der workflowInvocations.create
-Anfrage ausführen.
Möglichkeiten zum Konfigurieren der Dataform-Ausführung
Dataform bietet die folgenden Optionen zum Konfigurieren der Ausführung:
- Manuelle Ausführung in einem Arbeitsbereich
- Sie können die sofortige Ausführung eines Workflows in einem Dataform-Arbeitsbereich manuell auslösen, unabhängig von einem Zeitplan. Sie können ausgewählte Aktionen im Workflow ausführen.
- Workflowkonfigurationen
- Sie können die Ausführung von Kompilierungsergebnissen planen, die in einer ausgewählten Releasekonfiguration erstellt wurden. Sie können Workflowaktionen auswählen, die ausgeführt werden sollen, und die Häufigkeit und Zeitzone der Ausführungen festlegen.
Sofortige Ausführung in einem Arbeitsbereich auslösen
In einem Dataform-Arbeitsbereich können Sie die sofortige Ausführung eines Workflows in Ihrem Arbeitsbereich manuell auslösen, unabhängig von einem Zeitplan.
Sie können die folgenden Elemente des Workflows in Ihrem Arbeitsbereich manuell ausführen:
Wenn Ihr Repository Überschreibungen von Arbeitsbereichskompilierungen enthält, können Sie sehen, welche Überschreibungen von Dataform auf das Ergebnis der Arbeitsbereichskompilierung angewendet werden.
Workflowkonfigurationen erstellen
Mit Workflowkonfigurationen können Sie Ausführungen von Kompilierungsergebnissen aus einer ausgewählten Releasekonfiguration planen. Sie können mehrere Workflowkonfigurationen in einem Dataform-Repository erstellen.
In einer Workflowkonfiguration können Sie die folgenden Ausführungseinstellungen konfigurieren:
- Angewendete Releasekonfiguration für die Kompilierung.
- Auswahl der auszuführenden Workflow-Aktionen.
- Zeitplan und Zeitzone von Ausführungen.
Sie können die folgenden Workflowaktionen auswählen, die ausgeführt werden sollen:
- Alle Aktionen
- Ausgewählte Aktionen
- Aktionen mit ausgewählten Tags
Bei einer geplanten Ausführung Ihrer Workflowkonfiguration stellt Dataform dann die ausgewählten Aktionen aus dem angewendeten Kompilierungsergebnis in BigQuery bereit.
Mit Dataform-Releasekonfigurationen und Workflowkonfigurationen können Sie die Kompilierung konfigurieren und Ausführungen in Dataform planen, ohne auf zusätzliche Dienste angewiesen zu sein.
Ablauf von Lebenszyklusressourcen
In Dataform werden Kompilierungsergebnisse und Workflow-Aufrufe für einen bestimmten Zeitraum gespeichert.
Ablauf von Workflow-Aufrufen
Workflow-Aufrufe laufen nach 90 Tagen ab oder wenn Sie sie manuell löschen.
In einer Workflowkonfiguration können Sie eine Liste der letzten Workflowaufrufe aufrufen, die durch die Konfiguration erstellt wurden. Wenn ein Workflowaufruf, der durch eine Workflowkonfiguration erstellt wurde, abläuft, wird er von Dataform aus der Liste der letzten Aufrufe entfernt.
Ablauf von Kompilierungsergebnissen
Das Ablaufdatum von Kompilierungsergebnissen hängt davon ab, ob sie in einem Entwicklerarbeitsbereich, in einer Releasekonfiguration oder durch einen Workflowaufruf erstellt wurden.
Wenn Sie einen Workflow in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform Ihren Code in Echtzeit in ein Kompilierungsergebnis, um die Abfrage zu validieren. Auf diese Weise erstellte Kompilierungsergebnisse laufen nach 24 Stunden ab.
In einer Releasekonfiguration wird das letzte Kompilierungsergebnis zum Live-Kompilierungsergebnis. Ein neues Kompilierungsergebnis ersetzt das aktuelle Live-Kompilierungsergebnis. Dataform behält das Live-Kompilierungsergebnis bei, bis es durch ein neues Kompilierungsergebnis ersetzt wird. Ein Ergebnis einer ersetzten Zusammenstellung läuft nach bis zu 24 Stunden ab.
In Dataform werden abgelaufene Kompilierungsergebnisse aus der Liste der bisherigen Kompilierungsergebnisse auf der Seite Details einer Releasekonfiguration entfernt.
Dataform behält Kompilierungsergebnisse, die durch Workflow-Aufrufe erstellt wurden, für die gesamte Lebensdauer des Workflow-Aufrufs bei, bis zu 24 Stunden nach Ablauf oder Löschung des Workflow-Aufrufs.
Überschreibungen von Arbeitsbereichskompilierungen erstellen
In den folgenden Abschnitten wird beschrieben, wie Sie Überschreibungen von Arbeitsbereichskompilierungen erstellen, um Tabellen und Ansichten, die aus Ihren Dataform-Arbeitsbereichen erstellt wurden, in BigQuery zu isolieren. Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Dataform-Entwicklungsumgebungen erstellen.
Wenn Sie Workflow-Code in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform den Code in Ihrem Arbeitsbereich in Echtzeit, um ein Kompilierungsergebnis des Arbeitsbereichs zu erstellen. Dataform verwendet die in der Datei mit Workflow-Einstellungen definierten Einstellungen, um das Ergebnis der Arbeitsbereichskompilierung zu erstellen. Wenn Sie dann die Ausführung in einem Arbeitsbereich auslösen, führt Dataform das Ergebnis der Arbeitsbereichkompilierung in BigQuery aus.
Wenn Sie die in den Workflow-Einstellungen festgelegten Standardeinstellungen für alle Arbeitsbereiche in Ihrem Repository überschreiben möchten, können Sie Überschreibungen für die Arbeitsbereichskompilierung erstellen.
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie die folgenden Einstellungen für alle Arbeitsbereiche in Ihrem Repository überschreiben:
- Projekt
- Das Google Cloud Projekt, in dem Dataform das Kompilierungsergebnis des Arbeitsbereichs ausführt. Es wird in
workflow_settings.yaml
alsdefaultProject
oder indataform.json
alsdefaultDatabase
festgelegt. - Tabellenpräfix
- Das benutzerdefinierte Präfix, das allen Tabellennamen in allen Arbeitsbereichen im Repository hinzugefügt wird.
- Schemasuffix
- Das benutzerdefinierte Suffix, das an das Schema von Tabellen angehängt wird. Legen Sie
defaultDataset
inworkflow_settings.yaml
,defaultSchema
indataform.json
oder im Parameterschema
imconfig
-Block einer Tabelle fest.
Um isolierte Entwicklungsumgebungen zu erstellen, können Sie Arbeitsbereiche mit eindeutigen Überschreibungen von Kompilierungen isolieren. Sie können die Kompilierungsüberschreibungen für das Tabellenpräfix und das Schemasuffix mit der Variablen ${workspaceName}
dynamisch ändern.
Wenn Sie die Ausführung in einem Arbeitsbereich manuell auslösen, wird mit der Variablen ${workspaceName}
der Name des Arbeitsbereichs in die Überschreibungen der Arbeitsbereichskompilierung eingefügt.
Wenn Sie ${workspaceName}
als Tabellenpräfix festlegen, fügt Dataform den Namen des Arbeitsbereichs zu den Namen aller Tabellen im Arbeitsbereich hinzu. Nach der Ausführung können Sie in BigQuery ermitteln, aus welchem Arbeitsbereich eine Tabelle stammt.
Wenn Sie ${workspaceName}
als Schemasuffix festlegen, hängt Dataform den Namen des Arbeitsbereichs an defaultSchema
an und erstellt so ein benutzerdefiniertes Schema, das dem Arbeitsbereich zugeordnet ist. Nach der Ausführung können Sie in BigQuery alle Tabellen, die in einem bestimmten Arbeitsbereich ausgeführt werden, im entsprechenden Schema finden.
Beispiel für dynamische Überschreibungen von Arbeitsbereichskompilierungen
Im folgenden Beispiel werden Überschreibungen für die dynamische Workspace-Kompilierung auf ein Repository angewendet, das Workspaces enthält, die nach den Entwicklern benannt sind, die an dem Repository arbeiten: Sasha
und Kai
.
Das Ziel von Überschreibungen von Arbeitsbereichskompilierungen in diesem Beispiel ist es, isolierte Entwicklungsumgebungen für Sasha und Kai zu erstellen.
Die folgenden Standardeinstellungen sind in workflow_settings.yaml
festgelegt:
defaultProject
:analytics
defaultDataset
:dataform
Mit den folgenden Kompilierungsüberschreibungen für Arbeitsbereiche werden ein dynamisches Tabellenpräfix und ein dynamisches Schemasuffix für jeden Arbeitsbereich im Repository erstellt:
- Google Cloud-Projekt-ID:
analytics_dev
- Tabellenpräfix:
${workspaceName}
- Schema-Suffix:
${workspaceName}
Wenn Sasha die Ausführung im Arbeitsbereich Sasha
manuell auslöst, wird der Inhalt mit den folgenden Einstellungen ausgeführt:
- Google Cloud project:
analytics_dev
- Schema:
dataform_sasha
- Tabellennamen:
sasha_name
, z. B.sasha_orders
Wenn Kai die Ausführung im Arbeitsbereich Kai
manuell auslöst, wird der Inhalt mit den folgenden Einstellungen ausgeführt:
- Google Cloud project:
analytics_dev
- Schema:
dataform_kai
- Tabellennamen:
kai_name
, z. B.kai_orders
Überschreibungen von Arbeitsbereichskompilierungen erstellen
So erstellen Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:
- Rufen Sie in Ihrem Repository die Einstellungen auf.
- Klicken Sie auf Bearbeiten.
- Geben Sie im Bereich Überschreibungen von Arbeitsbereichskompilierungen im Feld Google Cloud-Projekt-ID die ID des Projekts ein.
- Geben Sie im Feld Tabellenpräfix ein Präfix für alle Tabellennamen ein.
- Optional: Wenn Sie ein dynamisches Tabellenpräfix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie
${workspaceName}
als Tabellenpräfix ein.
- Optional: Wenn Sie ein dynamisches Tabellenpräfix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie
- Geben Sie im Feld Schemasuffix ein Suffix ein, das an das Schema der erstellten Tabelle oder Ansicht angehängt werden soll.
- Optional: Wenn Sie ein dynamisches Schemasuffix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie
${workspaceName}
als Tabellensuffix ein.
- Optional: Wenn Sie ein dynamisches Schemasuffix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie
- Klicken Sie auf Speichern.
Dataform wendet Überschreibungen von Arbeitsbereichskompilierungen auf alle Arbeitsbereiche in Ihrem Repository an.
Überschreibungen von Arbeitsbereichskompilierungen bearbeiten
So bearbeiten Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:
- Rufen Sie in Ihrem Repository die Einstellungen auf.
- Klicken Sie auf Bearbeiten.
- Bearbeiten Sie die Überschreibungen von Arbeitsbereichskompilierungen und klicken Sie dann auf Speichern.
Überschreibungen von Arbeitsbereichskompilierungen löschen
So löschen Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:
- Rufen Sie in Ihrem Repository die Einstellungen auf.
- Klicken Sie auf Bearbeiten.
- Klicken Sie im Bereich Überschreibungen von Arbeitsbereichskompilierungen auf Alle löschen und dann auf Speichern.
Kompilierungsüberschreibungen mit der Dataform API konfigurieren
In diesem Abschnitt erfahren Sie, wie Sie ein Kompilierungsergebnis mit Kompilierungsüberschreibungen mithilfe der Dataform API erstellen und ausführen.
Kompilierungsüberschreibungen für die Dataform API
Damit Ihr Workflow ausgeführt werden kann, kompiliert Dataform Ihren Code in SQL, um ein Kompilierungsergebnis zu erstellen. Während eines Workflow-Aufrufs führt Dataform das Kompilierungsergebnis in BigQuery aus.
Standardmäßig verwendet Dataform die Einstellungen in der Datei mit den Workflow-Einstellungen, um das Kompilierungsergebnis zu erstellen. Wenn Sie Daten isolieren möchten, die in verschiedenen Phasen des Entwicklungszyklus ausgeführt werden, können Sie die Standardeinstellungen mit Überschreibungen der Kompilierung überschreiben.
Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie ein einzelnes Kompilierungsergebnis mit Überschreibungen erstellen und ausführen. Sie können ein Kompilierungsergebnis für einen Arbeitsbereich oder für einen ausgewählten Git-Committish erstellen.
Wenn Sie ein Kompilierungsergebnis mit Kompilierungsüberschreibungen erstellen möchten, müssen Sie die Dataform API-Anfrage compilationResults.create
stellen. Im Request müssen Sie eine Quelle angeben, die ein Arbeitsbereich oder ein Git-Commitish sein sollte, damit Dataform sie in das Kompilierungsergebnis kompiliert. Im Objekt CodeCompilationConfig
der compilationResults.create
-Anfrage können Sie Überschreibungen für die Kompilierung konfigurieren.
Anschließend können Sie das erstellte Kompilierungsergebnis in einer Dataform API-Anfrage workflowInvocations.create
ausführen.
Sie können die folgenden Überschreibungen für die Kompilierung mit der Dataform API konfigurieren:
- Google Cloud Projekt
- Das Projekt, in dem Dataform das Kompilierungsergebnis ausführt. Es wird in der Datei
workflow_settings.yaml
als AttributdefaultProject
oder in der Dateidataform.json
als AttributdefaultDatabase
festgelegt. - Tabellenpräfix
- Das benutzerdefinierte Präfix, das allen Tabellennamen im Kompilierungsergebnis hinzugefügt wird.
- Schema-Suffix
- Das benutzerdefinierte Suffix, das an das Schema von Tabellen angehängt wird, die im Attribut
defaultDataset
in der Dateiworkflow_settings.yaml
, im AttributdefaultSchema
in der Dateidataform.json
oder im Parameterschema
im Blockconfig
einer Tabelle definiert sind. - Wert einer Kompilierungsvariablen
- Der Wert einer Kompilierungsvariablen, der im Kompilierungsergebnis verwendet werden soll. Mit Kompilierungsvariablen können Sie Tabellen bedingt ausführen.
Als Alternative zu Dataform API-Kompilierungsüberschreibungen, die Sie nur für ein Kompilierungsergebnis verwenden können, können Sie Arbeitsbereichskompilierungsüberschreibungen in der Google Cloud Console konfigurieren.
Informationen zu alternativen Möglichkeiten zum Konfigurieren von Überschreibungen von Kompilierungen in Dataform finden Sie unter Einführung in den Workflow-Lebenszyklus in Dataform.
Quelle für das Kompilierungsergebnis festlegen
Wenn Sie die Dataform API-Anfrage compilationResults.create
stellen, müssen Sie eine Quelle für das Kompilierungsergebnis angeben.
Sie können einen Dataform-Arbeitsbereich oder einen Git-Zweig, ein Git-Tag oder einen Git-Commit-SHA als Quelle in der compilationResults.create
-Anfrage festlegen.
Arbeitsbereich als Quelle für das Kompilierungsergebnis festlegen
Geben Sie in der Anfrage
compilationResults.create
für das Attributworkspace
den Pfad eines ausgewählten Dataform-Arbeitsbereichs im folgenden Format an:{ "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME" }
Ersetzen Sie Folgendes:
- PROJECT_NAME: der Name Ihres Google Cloud -Projekts.
- LOCATION: Der Speicherort Ihres Dataform-Repositorys, der in den Workflow-Einstellungen festgelegt ist.
- REPOSITORY_NAME: der Name Ihres Dataform-Repositorys.
- WORKSPACE_NAME: der Name Ihres Dataform-Arbeitsbereichs.
Im folgenden Codebeispiel wird das Attribut workspace
in der Anfrage compilationResults.create
auf den Arbeitsbereich "sales-test"
festgelegt:
{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}
Git-Commitish als Quelle für das Kompilierungsergebnis festlegen
Fügen Sie in der
compilationResults.create
-Anfrage die ausgewählte Git-Branch, das ausgewählte Git-Tag oder den ausgewählten Git-Commit-SHA im folgenden Format in diegitCommitish
-Property ein:{ "gitCommitish": "GIT_COMMITISH" }
Ersetzen Sie GIT_COMMITISH durch den ausgewählten Git-Zweig, das Git-Tag oder einen Git-Commit-SHA für das Kompilierungsergebnis.
Das folgende Codebeispiel zeigt das Attribut gitCommitish
in der compilationResults.create
-Anfrage, das auf "staging"
festgelegt ist:
{
"gitCommitish": "staging"
}
Standardprojekt überschreiben
Wenn Sie Staging- oder Produktionstabellen in einem Google Cloud -Projekt erstellen möchten, das sich von dem für die Entwicklung verwendeten Projekt unterscheidet, können Sie eine andere Projekt-ID im CodeCompilationConfig
-Objekt in der Dataform API-Anfrage compilationResults.create
übergeben.
Wenn Sie eine separate Standardprojekt-ID im compilationResults.create
-Aufruf übergeben, wird die in der Datei mit den Workflow-Einstellungen konfigurierte Standardprojekt-ID überschrieben. Projekt-IDs, die in einzelnen Tabellen konfiguriert sind, werden jedoch nicht überschrieben.
Wenn Sie die Standardprojekt-ID überschreiben möchten, legen Sie die Eigenschaft
defaultDatabase
im ObjektCodeCompilationConfig
im folgenden Format auf die ausgewählte Projekt-ID fest:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }
Ersetzen Sie PROJECT_NAME durch die Projekt-ID, die Sie für das Kompilierungsergebnis festlegen möchten.
Tabellenpräfix hinzufügen
Wenn Sie Tabellen im Kompilierungsergebnis schnell identifizieren möchten, können Sie allen Tabellennamen im Kompilierungsergebnis ein Präfix hinzufügen. Dazu übergeben Sie das Tabellenpräfix im Objekt CodeCompilationConfig
in der Dataform API-Anfrage compilationResults.create
.
So fügen Sie ein Tabellenpräfix hinzu: Legen Sie die Eigenschaft
tablePrefix
im ObjektCodeCompilationConfig
im folgenden Format fest:{ "codeCompilationConfig": { "tablePrefix": "PREFIX", } }
Ersetzen Sie PREFIX durch das Präfix, das Sie anhängen möchten, z. B.
staging
.Wenn Ihr Tabellenname beispielsweise
table_name
lautet, erstellt Dataform Tabellen mit dem Namenstaging_table_name
.
Schemasuffix anhängen
Wenn Sie Entwicklungs-, Staging- und Produktionsdaten trennen möchten, können Sie Schemas in einem Kompilierungsergebnis ein Suffix hinzufügen. Dazu übergeben Sie das Schemasuffix im Objekt CodeCompilationConfig
in der Dataform API-Anfrage compilationResults.create
.
Wenn Sie ein Schema-Suffix anhängen möchten, legen Sie die Eigenschaft
schemaSuffix
im ObjektCodeCompilationConfig
im folgenden Format fest:{ "codeCompilationConfig": { "schemaSuffix": "SUFFIX", } }
Ersetzen Sie SUFFIX durch das Suffix, das Sie anhängen möchten, z. B.
_staging
.Wenn die
defaultDataset
-Property in der Dateiworkflow_settings.yaml
beispielsweise aufdataform
festgelegt ist, erstellt Dataform Tabellen im Schemadataform_staging
.
Ausgewählte Dateien bedingt mit Kompilierungsvariablen ausführen
Wenn Sie eine ausgewählte Tabelle nur in einer bestimmten Ausführungseinstellung ausführen möchten, können Sie eine Kompilierungsvariable für die Ausführungseinstellung erstellen und dann ihren Wert im Objekt CodeCompilationConfig
in der Dataform API-Anfrage compilationResults.create
übergeben.
So führen Sie eine Tabelle bedingt in einer bestimmten Ausführungseinstellung mithilfe der Dataform API aus:
- Eine Sammelvariable erstellen und sie ausgewählten Tabellen hinzufügen
Legen Sie das Schlüssel/Wert-Paar YOUR_VARIABLE und VALUE im Block
codeCompilationConfig
einer Dataform API-Kompilierungsanfrage im folgenden Format fest:{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }
Ersetzen Sie YOUR_VARIABLE durch den Namen Ihrer Variablen, z. B.
executionSetting
.Ersetzen Sie VALUE durch den Wert der Variablen für dieses Kompilierungsergebnis, der die
when
-Bedingung erfüllt, die in den ausgewählten Tabellen festgelegt ist.
Im folgenden Codebeispiel wird die Variable executionSetting
an eine Dataform API-Kompilierungsanfrage übergeben:
{
"gitCommitish": "staging",
"codeCompilationConfig": {
"vars": {
"executionSetting": "staging"
}
}
}
Kompilierungsergebnis mit Kompilierungsüberschreibungen ausführen
- Wenn Sie das von einer
compilationResults.create
-Anfrage erstellte Kompilierungsergebnis ausführen möchten, übergeben Sie die von dercompilationResults.create
-Anfrage zurückgegebene Kompilierungsergebnis-ID in einerworkflowInvocations.create
-Anfrage.
Das folgende Codebeispiel zeigt eine Kompilierungsergebnis-ID, die in einer workflowInvocations.create
-Anfrage übergeben wird:
{
"compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}
Releasekonfiguration erstellen
In den folgenden Abschnitten wird beschrieben, wie Sie in Dataform eine Release-Konfiguration erstellen, um Vorlagen für Kompilierungseinstellungen zu konfigurieren, die Sie nach Zeitplan ausführen können. Mit Releasekonfigurationen können Sie Ausführungsumgebungen wie Staging und Produktion konfigurieren.
Damit Workflows in BigQuery ausgeführt werden können, kompiliert Dataform SQL-Workflow-Code in ein Kompilierungsergebnis. Dieser Vorgang erfolgt automatisch, wenn Sie einen Workflow in einem Dataform-Arbeitsbereich entwickeln.
Mit Releasekonfigurationen können Sie Kompilierungsergebnisse anpassen. Sie können sie verwenden, um Ausführungsumgebungen wie z. B. Staging zu erstellen.
Einstellungen für die Releasekonfiguration
In einer Releasekonfiguration können Sie Überschreibungen von Workflow-Einstellungen konfigurieren, Kompilierungsvariablen festlegen und die Häufigkeit der Erstellung von Kompilierungsergebnissen festlegen.
Eine Dataform-Releasekonfiguration enthält die folgenden Kompilierungseinstellungen:
- Release-Einstellungen
- Die ID des Releases, das Git-Commitish für Kompilierungsergebnisse und die Häufigkeit der Erstellung von Kompilierungsergebnissen. Die Häufigkeit ist eine optionale Einstellung. Wenn diese Option festgelegt ist, beträgt die Mindesthäufigkeit 1 Stunde.
- Kompilierungsüberschreibungen
- Überschreibungen derGoogle Cloud Projekt-, Tabellenpräfix-, Schemasuffix- und Kompilierungsvariablen, die in den Workflow-Einstellungen definiert sind.
Funktionsweise einer Releasekonfiguration
Dataform erstellt Kompilierungsergebnisse aus einer Releasekonfiguration mit der angegebenen Häufigkeit oder wenn Sie die Kompilierung auslösen. Die Frequenz ist eine optionale Einstellung und nicht erforderlich, um eine Releasekonfiguration zu erstellen. Wenn festgelegt, beträgt die Mindesthäufigkeit 1 Stunde. Sie können die Kompilierung manuell auf der Seite Details zur Releasekonfiguration auslösen oder die Kompilierung mit der Dataform API-Methode releaseConfigs
auslösen.
Während der Kompilierung ruft Dataform Code aus dem angegebenen Git-Commitish Ihres Repositorys ab. Dataform kompiliert dann den Code mit den angewendeten Überschreibungen (falls vorhanden) und erstellt das Kompilierungsergebnis. Das letzte Kompilierungsergebnis, das für die Releasekonfiguration erstellt wurde, ist das Live-Kompilierungsergebnis.
Sie können Ausführungen von Kompilierungsergebnissen aus Releasekonfigurationen in Workflowkonfigurationen planen. Sie können eine ausgewählte Release-Konfiguration auch außerhalb eines Zeitplans ausführen. Während der Ausführung einer Workflowkonfiguration führt Dataform das Live-Kompilierungsergebnis aus der ausgewählten Releasekonfiguration aus.
Releasekonfiguration erstellen
So erstellen Sie eine Dataform-Releasekonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie im Bereich Releasekonfigurationen auf Erstellen.
Konfigurieren Sie im Bereich Releasekonfiguration erstellen die Release-Einstellungen.
Geben Sie im Feld Release-ID eine eindeutige ID für die Releasekonfiguration ein.
IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
Geben Sie im Feld Git commitish den Git-Branch oder den Git-Commit-SHA für die Version ein.
In einem Dataform-Repository, das nicht mit einem Remote-Repository verbunden ist, ist der Wert immer
main
.Optional: Wählen Sie im Feld Häufigkeit aus, wie oft Ergebnisse für die Zusammenstellung erstellt werden sollen.
Wenn sie festgelegt ist, beträgt die Mindesthäufigkeit 1 Stunde.
Wenn Sie automatische Veröffentlichungen deaktivieren möchten, lassen Sie das Feld Häufigkeit leer.
Optional: Konfigurieren Sie im Abschnitt Compilation overrides (Überschreibungen für die Kompilierung) die Kompilierungseinstellungen.
- Geben Sie im Feld Google Cloud-Projekt-ID die ID desGoogle Cloud -Projekts ein, in dem Sie das Kompilierungsergebnis speichern möchten.
- Geben Sie im Feld Schema-Suffix ein Suffix ein, das an das in den Workflow-Einstellungen konfigurierte Schema angehängt werden soll.
- Geben Sie im Feld Tabellenpräfix ein Präfix für alle Tabellennamen ein.
Optional: Legen Sie im Abschnitt Kompilierungsvariablen die Kompilierungsvariablen fest.
- Klicken Sie auf Variable hinzufügen.
- Geben Sie im Feld Schlüssel die Kompilierungsvariable ein.
- Geben Sie im Feld Wert den Wert für die Kompilierungsvariable ein.
- Wenn Sie eine weitere Variable für die Zusammenstellung hinzufügen möchten, klicken Sie auf Variable hinzufügen.
Klicken Sie auf Erstellen.
Wenn Sie das Standardprojekt überschreiben, muss Ihr Dataform-Dienstkonto Zugriff auf das in der Releasekonfiguration festgelegte Projekt haben.
Mit der folgenden Releasekonfiguration wird beispielsweise stündlich ein production
-Kompilierungsergebnis aus dem main
-Branch ohne Kompilierungsüberschreibungen erstellt:
- Release-ID:
production
- Git-Commitish:
main
- Häufigkeit: stündlich
- Keine Kompilierungsüberschreibungen
Details einer Releasekonfiguration ansehen
Sie können sich die folgenden Details einer Releasekonfiguration ansehen:
- Release-Einstellungen
- Git Commitish
- Zeitstempel des letzten Kompilierungsergebnisses
- Cron-Zeitplan
- Kompilierungsüberschreibungen
- Kompilierungsvariablen
- Ergebnis der Livekompilierung
- Zeitstempel der Erstellung
- Git Commitish
- Commit-SHA
- Frühere Kompilierungsergebnisse
So rufen Sie die Details einer Releasekonfiguration auf:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Wählen Sie eine Releasekonfiguration aus.
- Prüfen Sie auf der Seite Details zur Releasekonfiguration die Details der Releasekonfiguration.
In der Tabelle Ergebnisse der geplanten Kompilierung werden frühere Kompilierungsergebnisse angezeigt, die automatisch von der Releasekonfiguration erstellt wurden.
In der Tabelle Ergebnisse der manuellen bzw. API-Kompilierung werden Kompilierungsergebnisse angezeigt, die manuell oder durch Aufrufe der Dataform API aus den letzten 1.000 Kompilierungsergebnissen im Repository erstellt wurden.
Kompilierung manuell auslösen
So erstellen Sie manuell ein Kompilierungsergebnis aus einer ausgewählten Releasekonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Wählen Sie eine Releasekonfiguration aus.
- Klicken Sie auf der Seite Details zur Releasekonfiguration auf Neue Zusammenstellung.
Wenn Sie die Benutzeroberfläche verwenden, wird ein neu kompiliertes Ergebnis automatisch für Ihre Releasekonfiguration veröffentlicht. Wenn Sie die API verwenden, müssen Sie ein neues Kompilierungsergebnis aus der Releasekonfiguration erstellen und dann die Releasekonfiguration aktualisieren, um das Feld releaseCompilationResult
mit diesem neuen Wert festzulegen.
Die Ergebnisse der manuellen Kompilierung werden auf der Seite Details zur Releasekonfiguration in der Tabelle Ergebnisse der manuellen bzw. API-Kompilierung angezeigt.
Ausführung einer Releasekonfiguration auslösen
So lösen Sie die Ausführung des Live-Kompilierungsergebnisses in einer ausgewählten Releasekonfiguration in BigQuery aus:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie im Bereich Releasekonfigurationen auf Ausführung starten.
- Wählen Sie im Bereich Manuellen Workflow ausführen in der Liste Releasekonfiguration eine Releasekonfiguration aus.
- Wählen Sie die auszuführenden Workflow-Aktionen aus:
- Klicken Sie auf Alle Aktionen, um den gesamten Workflow auszuführen.
- Wenn Sie ausgewählte Aktionen im Workflow ausführen möchten, klicken Sie auf Auswahl von Aktionen und wählen Sie dann die gewünschten Aktionen aus.
- Wenn Sie Aktionen mit ausgewählten Tags ausführen möchten, klicken Sie auf Auswahl von Tags und wählen Sie dann die gewünschten Tags aus.
- Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre Abhängigkeiten ausführen möchten, wählen Sie die Option Include dependencies (Abhängigkeiten einbeziehen) aus.
- Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre abhängigen Elemente ausführen möchten, wählen Sie die Option Include dependents (Abhängige Elemente einbeziehen) aus.
Optional: Wenn Sie alle Tabellen von Grund auf neu erstellen möchten, wählen Sie die Option Mit vollständiger Aktualisierung ausführen aus.
Ohne diese Option werden inkrementelle Tabellen durch Dataform aktualisiert, ohne dass sie von Grund auf neu erstellt werden.
Klicken Sie auf Ausführung starten.
Releasekonfiguration bearbeiten
So bearbeiten Sie eine Releasekonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie neben der Releasekonfiguration, die Sie bearbeiten möchten, auf das Menü Mehr und dann auf Bearbeiten.
- Bearbeiten Sie im Bereich Releasekonfiguration bearbeiten die Einstellungen der Releasekonfiguration und klicken Sie dann auf Speichern.
Releasekonfiguration löschen
So löschen Sie eine Releasekonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie neben der Releasekonfiguration, die Sie löschen möchten, auf das Menü Mehr und dann auf Löschen.
- Klicken Sie im Dialogfeld Releasekonfiguration löschen auf Löschen.
Nächste Schritte
- Informationen zu Best Practices für den Workflow-Lebenszyklus in Dataform finden Sie unter Best Practices für den Workflow-Lebenszyklus.
- Informationen zum manuellen Auslösen der Ausführung in einem Arbeitsbereich finden Sie unter Ausführung auslösen.
- Informationen zum Erstellen von Workflowkonfigurationen finden Sie unter Ausführungen mit Workflowkonfigurationen planen.
- Weitere Informationen zur Dataform API