Zusammenstellungen konfigurieren

In diesem Dokument wird Folgendes beschrieben:

Hinweise

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository aus oder erstellen Sie eines.

  3. Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.

  4. Optional: Wenn Sie das Standard Google Cloud projekt in der Release-Konfiguration ü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 folgenden IAM-Rollen für Repositories zuzuweisen, um die Berechtigungen zu 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.

Einführung in den Codelebenszyklus in Dataform

In diesem Abschnitt wird der Codelebenszyklus in Dataform und Möglichkeiten zur Konfiguration der Kompilierung und Ausführung in Dataform beschrieben.

Der Dataform-Codelebenszyklus besteht aus den folgenden Phasen:

Entwicklung
Sie entwickeln einen Workflow in einem Dataform-Arbeitsbereich.
Zusammenstellung

Dataform kompiliert den Workflowcode 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 für eine einheitliche Kompilierung zu sorgen. Das bedeutet, dass derselbe Code jedes Mal zum selben SQL-Kompilierungsergebnis führt. Dataform kompiliert Ihren Code in einer Sandbox-Umgebung ohne Internetzugriff. Während der Kompilierung sind keine zusätzlichen Aktionen wie der Aufruf externer APIs verfügbar.

Ausführung

Bei einer Workflowausführung führt Dataform das Ergebnis der Arbeitsbereichskompilierung in BigQuery aus.

Sie können das Kompilierungsergebnis konfigurieren, um den Dataform-Codelebenszyklus an Ihre Anforderungen anzupassen und so festzulegen, wo und wie Dataform Ihren Workflow ausführt. Anschließend können Sie die Ausführung manuell auslösen oder planen, um festzulegen, wann Dataform den gesamten Workflow oder ausgewählte Elemente ausführt.

Möglichkeiten zur Konfiguration der Dataform-Kompilierung

Standardmäßig verwendet Dataform die Einstellungen in der Workflow-Konfigurationsdatei, um Kompilierungsergebnisse zu erstellen. Sie können die Standardeinstellungen mit Kompilierungsüberschreibungen ü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. Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Entwicklungsumgebungen erstellen.
Releasekonfigurationen
Sie können Releasekonfigurationen erstellen, um Vorlagen für die Erstellung von Kompilierungsergebnissen eines Dataform-Repositorys zu konfigurieren. Anschließend können Sie eine Workflowkonfiguration erstellen, um die Ausführung der in einer ausgewählten Release-Konfiguration erstellten Kompilierungsergebnisse zu planen.
Überschreibungen für die Dataform API-Kompilierung
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 der Arbeitsbereichskompilierung können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in einem Dataform-Repository erstellen. Sie können für jedes Repository eine Konfiguration von Arbeitsbereichskompilierungsüberschreibungen erstellen.

Wenn Sie in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen die Ausführung in einem Arbeitsbereich manuell auslösen, wendet Dataform diese Überschreibungen auf das Kompilierungsergebnis des Arbeitsbereichs an.

Sie können die folgenden Überschreibungen für die Arbeitsbereichskompilierung konfigurieren:

  • Google Cloud -Projekt, in dem Dataform den Inhalt des Arbeitsbereichs ausführt
  • Tabellenpräfix
  • Schemasuffix

Mit Überschreibungen für die Arbeitsbereichskompilierung können Sie isolierte Entwicklungsumgebungen erstellen, indem Sie die Ergebnisse der Arbeitsbereichskompilierung in BigQuery mit dynamischen Überschreibungen für die 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 und erstellt Kompilierungsüberschreibungen, die nur für den Arbeitsbereich gelten.

Beachten Sie, dass Sie die Ausführung von Kompilierungsergebnissen, die mit Überschreibungen von Arbeitsbereichskompilierungen erstellt wurden, nicht planen können.

Releasekonfigurationen erstellen

Mit Releasekonfigurationen können Sie Vorlagen mit Einstellungen für die Erstellung von Kompilierungsergebnissen von Repositories konfigurieren.

In einer Releasekonfiguration können Sie Kompilierungsüberschreibungen für Workfloweinstellungen, Kompilierungsvariablen und die Häufigkeit der Erstellung von Kompilierungsergebnissen für Ihr gesamtes Repository konfigurieren.

In einer Releasekonfiguration können Sie die folgenden Kompilierungsüberschreibungen konfigurieren:

Sie können mehrere Release-Konfigurationen in einem Dataform-Repository erstellen, eine für jede Phase des Entwicklungszyklus, und so isolierte Repository-Kompilierungsergebnisse erhalten.

Sie können dann Workflowkonfigurationen erstellen, um die Ausführung von Kompilierungsergebnissen zu planen, die in einer ausgewählten Releasekonfiguration erstellt wurden.

Sie können auch manuell die Ausführung eines Kompilierungsergebnisses in einer ausgewählten Release-Konfiguration auslösen.

Einzelnes Kompilierungsergebnis mit Dataform API-Kompilierungsüberschreibungen konfigurieren

Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie Compile-Überschreibungen für ein einzelnes Compile-Ergebnis konfigurieren.

Mit der compilationResults.create-Anfrage können Sie ein einzelnes Kompilierungsergebnis eines Dataform-Arbeitsbereichs oder eines bestimmten Git-Commits erstellen.

Im CodeCompilationConfig-Objekt der compilationResults.create-Anfrage können Sie Compile-Überschreibungen für die Compile-Anfrage konfigurieren.

Sie können die folgenden Überschreibungen für die Kompilierung der Dataform API konfigurieren:

Beachten Sie, dass Dataform API-Ü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 zur Konfiguration der Dataform-Ausführung

Dataform bietet die folgenden Optionen zur Konfiguration der Ausführung:

Manuelle Ausführung in einem Arbeitsbereich
Sie können die sofortige Ausführung eines Workflows in einem Dataform-Arbeitsbereich unabhängig von einem Zeitplan manuell auslösen. 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 Release-Konfiguration erstellt wurden. Sie können ausführbare Workflow-Aktionen auswählen 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 für die Arbeitsbereichskompilierung enthält, können Sie sich ansehen, welche Überschreibungen Dataform auf das Ergebnis der Arbeitsbereichskompilierung anwenden wird.

Workflowkonfigurationen erstellen

Mit Workflowkonfigurationen können Sie die Ausführung von Kompilierungsergebnissen aus einer ausgewählten Releasekonfiguration planen. Sie können in einem Dataform-Repository mehrere Workflowkonfigurationen erstellen.

In einer Workflowkonfiguration können Sie die folgenden Ausführungseinstellungen konfigurieren:

  • Angewandte Releasekonfiguration der Kompilierung.
  • Auswahl der auszuführenden Workflow-Aktionen.
  • Zeitplan und Zeitzone der Ausführungen

Sie können die folgenden Workflow-Aktionen auswählen, die ausgeführt werden sollen:

  • Alle Aktionen
  • Ausgewählte Aktionen
  • Aktionen mit ausgewählten Tags

Bei einer geplanten Ausführung Ihrer Workflowkonfiguration werden die ausgewählten Aktionen aus dem angewendeten Kompilierungsergebnis dann von Dataform in BigQuery bereitgestellt.

Mit Dataform-Release- 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 Workflowaufrufe für einen bestimmten Zeitraum gespeichert.

Ablauf von Workflowaufrufen

Workflowaufrufe laufen nach 90 Tagen ab oder werden manuell gelöscht.

In einer Workflowkonfiguration können Sie eine Liste der letzten Workflowaufrufe aufrufen, die mit der Konfiguration erstellt wurden. Wenn eine Workflowausführung, die über eine Workflowkonfiguration erstellt wurde, abläuft, wird sie von Dataform aus der Liste der letzten Aufrufe entfernt.

Ablauf der Kompilierungsergebnisse

Das Ablaufdatum von Kompilierungsergebnissen hängt davon ab, ob sie in einem Entwicklungsarbeitsbereich, in einer Release-Konfiguration oder durch eine Workflowausführung erstellt wurden.

Wenn Sie einen Workflow in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform Ihren Code in Echtzeit zu einem Kompilierungsergebnis, um die Abfrage zu validieren. So erstellte Kompilierungsergebnisse laufen nach 24 Stunden ab.

In einer Releasekonfiguration wird das letzte Kompilierungsergebnis zum Live-Kompilierungsergebnis. Das aktuelle Ergebnis der Livekompilierung wird durch ein neues ersetzt. Das Ergebnis der Livekompilierung wird in Dataform so lange beibehalten, bis es durch ein neues ersetzt wird. Ein ersetztes Kompilierungsergebnis läuft nach bis zu 24 Stunden ab.

Dataform entfernt abgelaufene Kompilierungsergebnisse aus der Liste der bisherigen Kompilierungsergebnisse auf der Seite Details einer Release-Konfiguration.

In Dataform werden die durch Workflowaufrufe erstellten Kompilierungsergebnisse für die gesamte Lebensdauer der Workflowaufrufe aufbewahrt, also bis zu 24 Stunden, nachdem der Workflowaufruf abgelaufen oder gelöscht wurde.

Kompilierungsüberschreibungen für Arbeitsbereiche erstellen

In den folgenden Abschnitten erfahren Sie, wie Sie Überschreibungen für die Kompilierung von Arbeitsbereichen erstellen, um Tabellen und Ansichten zu isolieren, die in Ihren Dataform-Arbeitsbereichen in BigQuery erstellt wurden. Mit Überschreibungen der Arbeitsbereichskompilierung können Sie isolierte Dataform-Entwicklungsumgebungen erstellen.

Wenn Sie Workflowcode 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 Workflow-Konfigurationsdatei 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 Arbeitsbereichskompilierung 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 Kompilierungsüberschreibungen für Arbeitsbereiche 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 Arbeitsbereichskompilierungsergebnis ausführt, in workflow_settings.yaml als defaultProject oder in dataform.json als defaultDatabase 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 der Tabellen angehängt wird. Legen Sie den Wert als defaultDataset in workflow_settings.yaml, defaultSchema in dataform.json oder im Parameter schema im Block config einer Tabelle fest.

Wenn Sie isolierte Entwicklungsumgebungen erstellen möchten, können Sie Arbeitsbereiche mit individuellen Überschreibungen für die Kompilierung isolieren. Sie können die Kompilierungsüberschreibungen für Tabellenpräfix und Schemasuffix mit der Variablen ${workspaceName} dynamisch ändern.

Wenn Sie die Ausführung in einem Arbeitsbereich manuell auslösen, wird über die Variable ${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 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 ein benutzerdefiniertes Schema für den Arbeitsbereich. Nach der Ausführung können Sie in BigQuery alle Tabellen finden, die aus einem bestimmten Arbeitsbereich im entsprechenden Schema ausgeführt wurden.

Beispiel für dynamische Überschreibungen von Arbeitsbereichskompilierungen

Im folgenden Beispiel werden dynamische Workspace-Überschreibungen für die Kompilierung auf ein Repository angewendet, das Arbeitsbereiche enthält, die nach Entwicklern benannt sind, die am Repository arbeiten: Sasha und Kai.

Das Ziel der Überschreibungen von Arbeitsbereichskompilierungen in diesem Beispiel besteht darin, isolierte Entwicklungsumgebungen für Sasha und Kai zu erstellen.

In workflow_settings.yaml sind die folgenden Standardeinstellungen festgelegt:

  • defaultProject: analytics
  • defaultDataset: dataform

Mit den folgenden Arbeitsbereichskompilierungsüberschreibungen werden für jeden Arbeitsbereich im Repository ein dynamisches Tabellenpräfix und ein Schemasuffix erstellt:

  • Google Cloud-Projekt-ID: analytics_dev
  • Tabellenpräfix: ${workspaceName}
  • Schema suffix: ${workspaceName}

Wenn Sasha die Ausführung im Arbeitsbereich Sasha manuell auslöst, führt Dataform den Inhalt mit den folgenden Einstellungen aus:

  • 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, führt Dataform den Inhalt mit den folgenden Einstellungen aus:

  • Google Cloud project: analytics_dev
  • Schema: dataform_kai
  • Tabellennamen: kai_name, z. B. kai_orders

Kompilierungsüberschreibungen für Arbeitsbereiche erstellen

So erstellen Sie Überschreibungen für die Kompilierung von Dataform-Arbeitsbereichen:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. Geben Sie im Bereich Überschreibungen von Arbeitsbereichskompilierungen im Feld Google Cloud-Projekt-ID die ID des Projekts ein.
  4. Geben Sie im Feld Tabellenpräfix ein Präfix für alle Tabellennamen ein.
    1. Optional: Wenn Sie ein dynamisches Tabellenpräfix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie ${workspaceName} als Tabellenpräfix ein.
  5. Geben Sie in das Feld Schemasuffix ein Suffix ein, das an das Schema der erstellten Tabelle oder Ansicht angehängt werden soll.
    1. Optional: Wenn Sie ein dynamisches Schemasuffix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie ${workspaceName} als Tabellensuffix ein.
  6. 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:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. Bearbeiten Sie die Überschreibungen für die Arbeitsbereichskompilierung und klicken Sie dann auf Speichern.

Überschreibungen von Arbeitsbereichskompilierungen löschen

So löschen Sie Überschreibungen der Dataform-Arbeitsbereichskompilierung:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. 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 mit der Dataform API ein Kompilierungsergebnis mit Kompilierungsüberschreibungen erstellen und ausführen.

Dataform API-Kompilierungsüberschreibungen

Zum Ausführen des Workflows kompiliert Dataform Ihren Code in SQL, um ein Kompilierungsergebnis zu erstellen. Anschließend führt Dataform bei einer Workflowausführung das Kompilierungsergebnis in BigQuery aus.

Standardmäßig verwendet Dataform die Einstellungen in der Workflow-Konfigurationsdatei, 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 Kompilierungsüberschreibungen erstellen und ausführen. Sie können ein Kompilierungsergebnis für einen Arbeitsbereich oder ein ausgewähltes Git-Commit erstellen.

Wenn Sie ein Kompilierungsergebnis mit Kompilierungsüberschreibungen erstellen möchten, müssen Sie die Dataform API-Anfrage compilationResults.create stellen. In der Anfrage müssen Sie eine Quelle angeben, die ein Arbeitsbereich oder ein Git-Commit sein sollte, damit Dataform das Kompilierungsergebnis erstellen kann. Im Objekt CodeCompilationConfig der compilationResults.create-Anfrage können Sie Überschreibungen für die Zusammenstellung konfigurieren.

Sie können das erstellte Kompilierungsergebnis dann in einer Dataform API-Anfrage vom Typ workflowInvocations.create ausführen.

Mit der Dataform API können Sie die folgenden Compile-Überschreibungen konfigurieren:

Google Cloud -Projekt
Das Projekt, in dem Dataform das Kompilierungsergebnis ausführt, in der Datei workflow_settings.yaml als Attribut defaultProject oder in der Datei dataform.json als Attribut defaultDatabase festgelegt.
Tabellenpräfix
Das benutzerdefinierte Präfix, das allen Tabellennamen im Kompilierungsergebnis hinzugefügt wird.
Schema suffix
Das benutzerdefinierte Suffix, das dem Schema der Tabellen angehängt wird, die in der defaultDataset-Eigenschaft in der workflow_settings.yaml-Datei, der defaultSchema-Eigenschaft in der dataform.json-Datei oder im schema-Parameter im config-Block einer Tabelle definiert sind.
Wert einer Kompilierungsvariablen
Der Wert einer Kompilierungsvariablen, der im Kompilierungsergebnis verwendet werden soll. Mithilfe von Kompilierungsvariablen können Sie Tabellen bedingt ausführen.

Als Alternative zu Überschreibungen der Dataform API-Kompilierung, die nur für ein Kompilierungsergebnis verwendet werden können, können Sie Überschreibungen der Arbeitsbereichskompilierung in der Google Cloud Console konfigurieren.

Informationen zu alternativen Möglichkeiten zum Konfigurieren von Kompilierungsüberschreibungen in Dataform finden Sie unter Einführung in den Codelebenszyklus.

Quelle für die Zusammenstellungsergebnisse festlegen

Wenn Sie die Dataform API-Anfrage compilationResults.create senden möchten, müssen Sie eine Quelle für das Kompilierungsergebnis angeben.

Sie können einen Dataform-Arbeitsbereich oder einen Git-Zweig, ein Git-Tag oder eine Git-Commit-SHA als Quelle in der compilationResults.create-Anfrage festlegen.

Arbeitsbereich als Quelle für Kompilierungsergebnisse festlegen

  • Geben Sie in der compilationResults.create-Anfrage das Attribut workspace mit dem 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 ist die Property workspace in der compilationResults.create-Anfrage auf einen Arbeitsbereich namens "sales-test" festgelegt:

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

Git-Commit als Quelle für Kompilierungsergebnisse festlegen

  • Geben Sie in der compilationResults.create-Anfrage die Property gitCommitish mit dem ausgewählten Git-Branch, -Tag oder -Commit-SHA im folgenden Format ein:

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    Ersetzen Sie GIT_COMMITISH durch den ausgewählten Git-Branch, das Git-Tag oder eine Git-Commit-SHA für das Kompilierungsergebnis.

Im folgenden Codebeispiel ist die gitCommitish-Eigenschaft in der compilationResults.create-Anfrage auf "staging" festgelegt:

{
  "gitCommitish": "staging"
}

Standardprojekt überschreiben

Wenn Sie Staging- oder Produktionstabellen in einem Google Cloud Projekt erstellen möchten, das sich vom für die Entwicklung verwendeten Projekt unterscheidet, können Sie in der Dataform API-Anfrage compilationResults.create im Objekt CodeCompilationConfig eine andere Projekt-ID übergeben.

Wenn Sie in der compilationResults.create-Anfrage eine separate Standardprojekt-ID ü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 Property defaultDatabase im CodeCompilationConfig-Objekt auf die ausgewählte Projekt-ID im folgenden Format 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 geben Sie das Tabellenpräfix im Objekt CodeCompilationConfig in der Dataform API-Anfrage compilationResults.create an.

  • Wenn Sie ein Tabellenpräfix hinzufügen möchten, legen Sie die Eigenschaft tablePrefix im CodeCompilationConfig-Objekt im folgenden Format fest:

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    Ersetzen Sie PREFIX durch das Präfix, das angehängt werden soll, z. B. staging.

    Wenn der Tabellenname beispielsweise table_name lautet, erstellt Dataform Tabellen mit dem Namen staging_table_name.

Schemasuffix anhängen

Wenn Sie Entwicklungs-, Staging- und Produktionsdaten trennen möchten, können Sie Schemas in einem Kompilierungsergebnis ein Suffix anhängen. Dazu geben Sie das Schemasuffix im Objekt CodeCompilationConfig in der Dataform API-Anfrage compilationResults.create an.

  • Wenn Sie ein Schemasuffix anhängen möchten, legen Sie die Eigenschaft schemaSuffix im CodeCompilationConfig-Objekt 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-Eigenschaft in der Datei workflow_settings.yaml beispielsweise auf dataform festgelegt ist, erstellt Dataform Tabellen im dataform_staging-Schema.

Ausgewählte Dateien bedingt mit Kompilierungsvariablen ausführen

Wenn Sie eine ausgewählte Tabelle nur mit einer bestimmten Ausführungseinstellung ausführen möchten, können Sie eine Kompilierungsvariable für die Ausführungseinstellung erstellen und dann den Wert in das CodeCompilationConfig-Objekt in der Dataform API-Anfrage compilationResults.create übergeben.

So führen Sie mithilfe der Dataform API eine Tabelle bedingt in einer bestimmten Ausführungseinstellung aus:

  1. Kompilierungsvariable erstellen und ausgewählten Tabellen hinzufügen
  2. 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"
        }
      }
    }
    
  3. Ersetzen Sie YOUR_VARIABLE durch den Namen Ihrer Variablen, z. B. executionSetting.

  4. Ersetzen Sie VALUE durch den Wert der Variablen für dieses Kompilierungsergebnis, der die in den ausgewählten Tabellen festgelegte when-Bedingung erfüllt.

Im folgenden Codebeispiel wird die Variable executionSetting gezeigt, die an eine Dataform API-Kompilierungsanfrage übergeben wird:

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

Kompilierungsergebnis mit Kompilierungsüberschreibungen ausführen

  • Wenn du das mit einer compilationResults.create-Anfrage erstellte Kompilierungsergebnis ausführen möchtest, musst du die von der compilationResults.create-Anfrage zurückgegebene ID des Kompilierungsergebnisses in einer workflowInvocations.create-Anfrage übergeben.

Das folgende Codebeispiel zeigt eine ID des Kompilierungsergebnisses, 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 mit Kompilierungseinstellungen zu konfigurieren, die Sie nach einem Zeitplan ausführen können. Mit Releasekonfigurationen können Sie Ausführungsumgebungen konfigurieren, z. B. Staging- und Produktionsumgebungen.

Um Workflows in BigQuery auszuführen, kompiliert Dataform den 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 zum Erstellen von Ausführungsumgebungen wie Staging verwenden.

Einstellungen für die Releasekonfiguration

In einer Releasekonfiguration können Sie Kompilierungsüberschreibungen von Workfloweinstellungen konfigurieren, Kompilierungsvariablen festlegen und die Häufigkeit festlegen, mit der Kompilierungsergebnisse erstellt werden.

Eine Dataform-Releasekonfiguration enthält die folgenden Kompilierungseinstellungen:

Release-Einstellungen
Die ID des Release, das Git-Commitish für die Kompilierungsergebnisse und die Häufigkeit der Erstellung von Kompilierungsergebnissen. Die Häufigkeit ist eine optionale Einstellung. Die Mindesthäufigkeit beträgt 1 Stunde.
Kompilierungsüberschreibungen
Überschreibungen desGoogle Cloud Projekts, des Tabellenpräfixes, des Schemasuffixes und der 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 Häufigkeit ist eine optionale Einstellung und nicht erforderlich, um eine Releasekonfiguration zu erstellen. Die Mindesthäufigkeit beträgt 1 Stunde. Sie können die Kompilierung auf der Seite Details zur Release-Konfiguration manuell auslösen oder die Kompilierung mit der releaseConfigs-Methode der Dataform API auslösen.

Während der Kompilierung ruft Dataform Code aus dem angegebenen Git-Commit Ihres Repositorys ab. Anschließend kompiliert Dataform den Code mit den angewendeten Compile-Überschreibungen (falls vorhanden) und erstellt das Compile-Ergebnis. Das aktuelle Kompilierungsergebnis, das für die Release-Konfiguration erstellt wurde, ist das Ergebnis der Live-Kompilierung.

Sie können die Ausführung 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:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Klicken Sie im Bereich Releasekonfigurationen auf Erstellen.
  3. Konfigurieren Sie im Bereich Releasekonfiguration erstellen die Release-Einstellungen.

    1. Geben Sie im Feld Release-ID eine eindeutige ID für die Release-Konfiguration ein.

      IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.

    2. 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.

    3. Optional: Wählen Sie in der Liste Häufigkeit aus, wie oft die Zusammenstellungsergebnisse erstellt werden sollen.

      Die Mindesthäufigkeit beträgt 1 Stunde.

  4. Optional: Konfigurieren Sie im Abschnitt Überschreibungen der Kompilierung die Kompilierungseinstellungen.

    1. Geben Sie im Feld Google Cloud-Projekt-ID die ID desGoogle Cloud -Projekts ein, in dem Sie das Kompilierungsergebnis speichern möchten.
    2. Geben Sie im Feld Schema-Suffix ein Suffix ein, das an das in den Workflow-Einstellungen konfigurierte Schema angehängt werden soll.
    3. Geben Sie im Feld Tabellenpräfix ein Präfix für alle Tabellennamen ein.
  5. Optional: Legen Sie im Abschnitt Kompilierungsvariablen die Kompilierungsvariablen fest.

    1. Klicken Sie auf Variable hinzufügen.
    2. Geben Sie im Feld Schlüssel die Kompilierungsvariable ein.
    3. Geben Sie im Feld Wert den Wert für die Kompilierungsvariable ein.
    4. Wenn Sie eine weitere Kompilierungsvariable hinzufügen möchten, klicken Sie auf Variable hinzufügen.
  6. Klicken Sie auf Erstellen.

Wenn Sie das Standardprojekt überschreiben, muss Ihr Dataform-Dienstkonto Zugriff auf das in der Release-Konfiguration festgelegte Projekt haben.

Mit der folgenden Release-Konfiguration wird beispielsweise stündlich ein production-Kompilierungsergebnis aus dem main-Branch erstellt, ohne Überschreibungen der Kompilierung:

  • Release-ID: production
  • Git-Commit-ID: 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 Ergebnisse der Kompilierung

So rufen Sie die Details einer Releasekonfiguration auf:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Wählen Sie eine Releasekonfiguration aus.
  3. Prüfen Sie auf der Seite Releasekonfigurationsdetails die Details der Releasekonfiguration.

In der Tabelle Ergebnisse der geplanten Kompilierung werden bisherige Kompilierungsergebnisse angezeigt, die automatisch von der Releasekonfiguration erstellt wurden.

In der Tabelle Ergebnisse der manuellen bzw. API-Kompilierung werden die Ergebnisse der manuellen oder über Aufrufe der Dataform API erstellten Kompilierung aus den letzten 1.000 Kompilierungsergebnissen im Repository angezeigt.

Kompilierung manuell auslösen

So erstellen Sie manuell ein Kompilierungsergebnis aus einer ausgewählten Releasekonfiguration:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Wählen Sie eine Releasekonfiguration aus.
  3. Klicken Sie auf der Seite Details zur Releasekonfiguration auf Neue Kompilierung.

Das neu erstellte Kompilierungsergebnis wird zum Live-Ergebnis für diese Release-Konfiguration.

Die Ergebnisse der manuellen Kompilierung werden in der Tabelle Ergebnisse der manuellen/API-Kompilierung auf der Seite Details zur Release-Konfiguration angezeigt.

Ausführung einer Releasekonfiguration auslösen

So lösen Sie die Ausführung des Live-Kompilierungsergebnisses in einer ausgewählten Release-Konfiguration in BigQuery aus:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Klicken Sie im Bereich Releasekonfigurationen auf Ausführung starten.
  3. Wählen Sie im Bereich Manuellen Workflow ausführen in der Liste Releasekonfiguration eine Releasekonfiguration aus.
  4. Wählen Sie die auszuführenden Workflow-Aktionen aus:
    1. Wenn Sie den gesamten Workflow ausführen möchten, klicken Sie auf Alle Aktionen.
    2. Wenn Sie ausgewählte Aktionen im Workflow ausführen möchten, klicken Sie auf Auswahl von Aktionen und wählen Sie die Aktionen aus.
    3. Wenn Sie Aktionen mit ausgewählten Tags ausführen möchten, klicken Sie auf Auswahl von Tags und wählen Sie die entsprechenden Tags aus.
  5. Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre Abhängigkeiten ausführen möchten, wählen Sie die Option Abhängigkeiten einschließen aus.
  6. Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre abhängigen Elemente ausführen möchten, wählen Sie die Option Abhängige Elemente einschließen aus.
  7. Optional: Wenn Sie alle Tabellen neu erstellen möchten, wählen Sie die Option Mit vollständiger Aktualisierung ausführen aus.

    Ohne diese Option aktualisiert Dataform inkrementelle Tabellen, ohne sie von Grund auf neu zu erstellen.

  8. Klicken Sie auf Ausführung starten.

Releasekonfiguration bearbeiten

So bearbeiten Sie eine Releasekonfiguration:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Klicken Sie neben der Releasekonfiguration, die Sie bearbeiten möchten, auf das Dreipunkt-Menü  Mehr und dann auf Bearbeiten.
  3. Bearbeiten Sie im Bereich Releasekonfiguration bearbeiten die Einstellungen für die Releasekonfiguration und klicken Sie dann auf Speichern.

Releasekonfiguration löschen

So löschen Sie eine Releasekonfiguration:

  1. Gehen Sie in Ihrem Repository zu Releases und Planung.
  2. Klicken Sie neben der Releasekonfiguration, die Sie löschen möchten, auf das Dreipunkt-Menü  Mehr und dann auf Löschen.
  3. Klicken Sie im Dialogfeld Releasekonfiguration löschen auf Löschen.

Nächste Schritte