Zusammenstellungen konfigurieren

In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun:

Hinweis

  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 Standardprojekt von Google Cloud in der Release-Konfiguration überschreiben möchten, gewähren Sie Ihrem benutzerdefinierten Dienstkonto Zugriff auf das Projekt, das Sie verwenden möchten.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen 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.

Informationen zum Erhöhen der Sicherheit bei der Planung finden Sie unter Erweiterte Planungsberechtigungen implementieren.

Damit Sie die Release-Version einer Release-Konfiguration für ein Dataform-Repository aktualisieren können, müssen Sie dem Dataform-Dienst-Agenten die Berechtigung iam.serviceAccounts.actAs für jedes benutzerdefinierte Dienstkonto in den Workflow-Konfigurationen gewähren, die diese Release-Konfiguration verwenden. Diese Berechtigung ist in der Dienstkontonutzerrolle (roles/iam.serviceAccountUser) verfügbar. Weitere Informationen finden Sie unter Erforderliche IAM-Rollen zuweisen.

Einführung in den Workflow-Lebenszyklus in Dataform

In diesem Abschnitt werden der Workflow-Lebenszyklus in Dataform und die Möglichkeiten zum Konfigurieren der Kompilierung und Ausführung in Dataform beschrieben.

Der Lebenszyklus eines Dataform-Workflows umfasst die folgenden Phasen:

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

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 Ihrer Workflow-Einstellungsdatei 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 Internetzugriff. Während der Kompilierung sind keine zusätzlichen Aktionen wie das Aufrufen externer APIs verfügbar.

Ausführung

Bei einem Workflowaufruf führt Dataform das Kompilierungsergebnis des Arbeitsbereichs in BigQuery aus.

Wenn Sie den Lebenszyklus des Dataform-Workflows an Ihre Anforderungen anpassen möchten, können Sie das Kompilierungsergebnis so konfigurieren, dass es beeinflusst, wo und wie Dataform Ihren Workflow ausführt. Anschließend können Sie Ausführungen manuell auslösen oder planen, um zu beeinflussen, wann Dataform den gesamten Workflow oder die ausgewählten Elemente ausführt.

Möglichkeiten zum Konfigurieren der Dataform-Kompilierung

Standardmäßig verwendet Dataform die Einstellungen in der Datei mit den Workflow-Einstellungen, um Kompilierungsergebnisse zu erstellen. Sie können die Standardeinstellungen mit Kompilierungsüberschreibungen überschreiben, um benutzerdefinierte Kompilierungsergebnisse zu erstellen. Anschließend können Sie 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 Release-Konfigurationen erstellen, um Vorlagen für die Erstellung 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 Arbeitsbereich-Kompilierungsüberschreibungen erstellen.

Wenn Sie eine Ausführung in einem Arbeitsbereich manuell auslösen, der sich in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen befindet, 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 die Inhalte des Arbeitsbereichs ausführt
  • Tabellenpräfix
  • Schemasuffix

Sie können Überschreibungen von Arbeitsbereichskompilierungen verwenden, um isolierte Entwicklungsumgebungen zu erstellen. Dazu isolieren Sie die Ergebnisse der Arbeitsbereichskompilierung in BigQuery mit dynamischen Überschreibungen von Kompilierungen. Dynamische Kompilierungsüberschreibungen für Tabellenpräfix und Schemasuffix 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 so Kompilierungsüberschreibungen, 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 für Einstellungen konfigurieren, um Kompilierungsergebnisse von Repositories zu erstellen.

In einer Releasekonfiguration können Sie Kompilierungsüberschreibungen von 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 Ihres Entwicklungslebenszyklus, und so isolierte Repository-Kompilierungsergebnisse erstellen.

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

Sie können die Ausführung eines Kompilationsergebnisses 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 Kompilierungsüberschreibungen für ein einzelnes Kompilierungsergebnis konfigurieren.

In der Anfrage compilationResults.create können Sie ein einzelnes Kompilierungsergebnis eines Dataform-Arbeitsbereichs oder eines angegebenen Git-Commitish erstellen, das ein Branch, ein Tag oder ein Commit-SHA sein kann.

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

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

Beachten Sie, dass die Kompilierungsüberschreibungen der Dataform API für ein einzelnes Kompilierungsergebnis und eine einzelne Ausführung gelten. Sie können sie nicht zum Planen von Dataform-Ausführungen verwenden.

Sie können ein Kompilierungsergebnis in der Anfrage workflowInvocations.create 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 und außerhalb eines Zeitplans 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 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 sich ansehen, welche Kompilierungsüberschreibungen Dataform auf das Kompilierungsergebnis des Arbeitsbereichs anwendet.

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:

  • Kompilierungs-Release-Konfiguration angewendet.
  • Auswahl der auszuführenden Workflowaktionen.
  • Zeitplan und Zeitzone der 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

Während einer geplanten Ausführung Ihrer Workflowkonfiguration stellt Dataform dann Ihre Auswahl an Aktionen aus dem angewendeten Kompilierungsergebnis in BigQuery bereit.

Mit Dataform-Release- und Workflow-Konfigurationen können Sie die Kompilierung konfigurieren und Ausführungen in Dataform planen, ohne auf zusätzliche Dienste angewiesen zu sein.

Ablauf von Lebenszyklusressourcen

Dataform speichert Kompilierungsergebnisse und Workflowaufrufe für einen bestimmten Zeitraum.

Ablauf von Workflowaufrufen

Workflowaufrufe 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 von der Konfiguration erstellt wurden. Wenn ein Workflowaufruf, der von einer Workflowkonfiguration erstellt wurde, abläuft, entfernt Dataform diesen Workflowaufruf aus der Liste der letzten Aufrufe.

Ablauf von Kompilierungsergebnissen

Der Ablauf von Kompilierungsergebnissen hängt davon ab, ob sie in einem Entwicklungsarbeitsbereich, in einer Release-Konfiguration 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 eine Abfragevalidierung zu ermöglichen. Auf diese Weise erstellte Kompilierungsergebnisse laufen nach 24 Stunden ab.

In einer Releasekonfiguration wird das neueste 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 ersetztes Kompilierungsergebnis läuft nach bis zu 24 Stunden ab.

Dataform entfernt abgelaufene Kompilierungsergebnisse aus der Liste der früheren Kompilierungsergebnisse auf der Seite Details einer Release-Konfiguration.

Dataform speichert die durch Workflowaufrufe erstellten Kompilierungsergebnisse für die gesamte Lebensdauer des Workflowaufrufs, bis zu 24 Stunden nach Ablauf oder Löschung des Workflowaufrufs.

Überschreibungen von Arbeitsbereichskompilierungen erstellen

In diesem Abschnitt erfahren Sie, wie Sie Überschreibungen von Arbeitsbereichskompilierungen erstellen, um Tabellen und Ansichten, die aus Ihren Dataform-Arbeitsbereichen in BigQuery erstellt wurden, zu isolieren. Sie können Überschreibungen von Arbeitsbereichskompilierungen verwenden, um isolierte Dataform-Entwicklungsumgebungen zu 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 Datei mit den Workflow-Einstellungen definierten Einstellungen, um das Kompilierungsergebnis des Arbeitsbereichs zu erstellen. Wenn Sie dann die Ausführung in einem Arbeitsbereich auslösen, führt Dataform das Kompilierungsergebnis des Arbeitsbereichs in BigQuery aus.

Wenn Sie die Standardeinstellungen in den Workflow-Einstellungen 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 Kompilierungsergebnis des Arbeitsbereichs ausführt, festgelegt in workflow_settings.yaml als defaultProject oder in dataform.json als defaultDatabase.

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 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 eindeutigen Kompilierungsüberschreibungen isolieren. Mit der Variable ${workspaceName} können Sie die Kompilierungsüberschreibungen für das Tabellenpräfix und das Schemasuffix dynamisch ändern.

Wenn Sie die Ausführung in einem Arbeitsbereich manuell auslösen, fügt die Variable ${workspaceName} den Namen des Arbeitsbereichs in die Überschreibungen der Arbeitsbereichskompilierung ein.

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 feststellen, 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 für den Arbeitsbereich. Nach der Ausführung finden Sie in BigQuery alle Tabellen, die von einem bestimmten Arbeitsbereich im dedizierten Schema ausgeführt werden.

Beispiel für dynamische Überschreibungen von Arbeitsbereichskompilierungen

Im folgenden Beispiel werden dynamische Überschreibungen der Arbeitsbereichskompilierung auf ein Repository angewendet, das Arbeitsbereiche enthält, die nach Entwicklern benannt sind, die am 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 Überschreibungen für die Arbeitsbereichskompilierung 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 -Projekt: 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 -Projekt: analytics_dev
  • Schema: dataform_kai
  • Tabellennamen: kai_name, z. B. kai_orders

Überschreibungen von Arbeitsbereichskompilierungen erstellen

So erstellen Sie Überschreibungen für die Dataform-Arbeitsbereichskompilierung:

  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 im Feld Schema-Suffix 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 von Arbeitsbereichskompilierungen und klicken Sie dann auf Speichern.

Kompilierungsüberschreibungen für Arbeitsbereiche löschen

So löschen Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:

  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.

Informationen zu Überschreibungen der Dataform API-Kompilierung

Zum Ausführen des Workflows kompiliert Dataform Ihren Code in SQL, um ein Kompilierungsergebnis zu erstellen. Anschließend führt Dataform das Kompilierungsergebnis während eines Workflow-Aufrufs 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 Entwicklungslebenszyklus ausgeführt werden, können Sie die Standardeinstellungen mit Kompilierungsüberschreibungen ü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 eines Arbeitsbereichs oder eines ausgewählten Git-Commitish-Objekts wie eines Zweigs, Tags oder Commit-SHA erstellen.

Wenn Sie ein Kompilierungsergebnis mit Kompilierungsüberschreibungen erstellen möchten, müssen Sie die Dataform API-Anfrage compilationResults.create senden. In der Anfrage müssen Sie eine Quelle angeben, die ein Arbeitsbereich oder ein Git-Commitish sein sollte, damit Dataform sie in das Kompilierungsergebnis kompilieren kann. Im CodeCompilationConfig-Objekt der compilationResults.create-Anfrage können Sie Kompilierungsüberschreibungen konfigurieren.

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

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

Google Cloud -Projekt

Das Projekt, in dem Dataform das Kompilierungsergebnis ausführt, festgelegt in der Datei workflow_settings.yaml als Attribut defaultProject oder in der Datei dataform.json als Attribut defaultDatabase.

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 Datei workflow_settings.yaml, im Attribut defaultSchema in der Datei dataform.json oder im Parameter schema im Block config einer Tabelle definiert sind.

Wert einer Kompilierungsvariablen

Der Wert einer Kompilierungsvariablen, die im Kompilierungsergebnis verwendet werden soll. Sie können Kompilierungsvariablen verwenden, um Tabellen bedingt auszuführen.

Als Alternative zu Überschreibungen von Dataform API-Kompilierungen, die Sie nur für ein Kompilierungsergebnis verwenden können, können Sie Überschreibungen von Arbeitsbereichskompilierungen in der Google Cloud Console konfigurieren.

Informationen zu alternativen Möglichkeiten, Kompilierungsüberschreibungen in Dataform zu konfigurieren, finden Sie unter Einführung in den Workflow-Lebenszyklus in Dataform.

Kompilierungsergebnisquelle festlegen

Wenn Sie die Dataform API-Anfrage compilationResults.create stellen 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 einen 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 im Attribut workspace 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 Projekts in Google Cloud .
    • 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 compilationResults.create-Anfrage auf einen Arbeitsbereich namens "sales-test" festgelegt:

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

Git-Commitish als Quelle für das Kompilierungsergebnis festlegen

  • Geben Sie in der compilationResults.create-Anfrage das Attribut gitCommitish mit dem ausgewählten Git-Zweig, -Tag oder -Commit-SHA im folgenden Format an:

    {
      "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.

Im folgenden Codebeispiel ist das Attribut gitCommitish 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 von dem für die Entwicklung verwendeten Projekt getrennt ist, können Sie eine andere Projekt-ID im CodeCompilationConfig-Objekt in der Dataform API-Anfrage compilationResults.create übergeben.

Wenn Sie in der compilationResults.create-Anfrage eine separate Standardprojekt-ID übergeben, wird die in der Workflow-Einstellungsdatei konfigurierte Standardprojekt-ID überschrieben. Projekt-IDs, die in einzelnen Tabellen konfiguriert sind, werden jedoch nicht überschrieben.

  • Wenn Sie die Standard-Projekt-ID überschreiben möchten, legen Sie im Objekt CodeCompilationConfig die Property defaultDatabase 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 aus dem Kompilierungsergebnis schnell identifizieren möchten, können Sie allen Tabellennamen im Kompilierungsergebnis ein Präfix hinzufügen. Übergeben Sie dazu das Tabellenpräfix im CodeCompilationConfig-Objekt in der compilationResults.create-Anfrage der Dataform API.

  • Wenn Sie ein Tabellenpräfix hinzufügen möchten, legen Sie das Attribut tablePrefix im Objekt CodeCompilationConfig 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 Namen staging_table_name.

Schema-Suffix anhängen

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

  • Wenn Sie ein Schema-Suffix anhängen möchten, legen Sie das Attribut schemaSuffix im Objekt CodeCompilationConfig im folgenden Format fest:

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    Ersetzen Sie SUFFIX durch das Suffix, das Sie anhängen möchten, z. B. _staging.

    Wenn das Attribut defaultDataset in der Datei workflow_settings.yaml beispielsweise auf dataform festgelegt ist, erstellt Dataform Tabellen im Schema dataform_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 CodeCompilationConfig-Objekt in der compilationResults.create-Anfrage der Dataform API übergeben.

So führen Sie eine Tabelle mithilfe der Dataform API 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 Kompilierungsanfrage der Dataform API im folgenden Format fest:

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. Ersetzen Sie YOUR_VARIABLE durch den Namen Ihrer Variable, z. B. executionSetting.

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

Im folgenden Codebeispiel wird die Variable executionSetting an eine Kompilierungsanfrage der Dataform API übergeben:

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

Kompilierungsergebnis mit Kompilierungsüberschreibungen ausführen

  • Wenn Sie das Kompilierungsergebnis ausführen möchten, das durch eine compilationResults.create-Anfrage erstellt wurde, übergeben Sie die von der compilationResults.create-Anfrage zurückgegebene Kompilierungsergebnis-ID in einer workflowInvocations.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 diesem Abschnitt erfahren Sie, wie Sie in Dataform eine Release-Konfiguration erstellen, um Vorlagen für Kompilierungseinstellungen zu konfigurieren, die Sie nach einem 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 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 damit Ausführungsumgebungen erstellen, z. B. für das Staging.

Releasekonfigurationseinstellungen

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

Eine Dataform-Release-Konfiguration enthält die folgenden Kompilierungseinstellungen:

Release-Einstellungen
Die ID des Release, das Git-Commitish für Kompilationsergebnisse, z. B. ein Zweig, ein Tag oder ein Commit-SHA, und die Häufigkeit, mit der Kompilationsergebnisse erstellt werden. Die Häufigkeit ist eine optionale Einstellung. Wenn festgelegt, beträgt die Mindesthäufigkeit 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. Wenn diese Option festgelegt ist, 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. Anschließend kompiliert Dataform den Code mit den angewendeten Kompilierungsüberschreibungen (falls vorhanden) und erstellt das Kompilierungsergebnis. Das neueste Kompilierungsergebnis, das für die Releasekonfiguration erstellt wurde, ist das Ergebnis der Livekompilierung.

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-Release-Konfiguration:

  1. Rufen Sie in Ihrem Repository Releases & Planung auf.
  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 einen Zweig, z. B. main, ein Tag oder einen Commit-SHA für den Release ein.

      In einem Dataform-Repository, das nicht mit einem Remote-Repository verbunden ist, ist der Wert immer main.

    3. Optional: Wählen Sie im Feld Häufigkeit aus, wie oft Kompilierungsergebnisse erstellt werden sollen.

      Wenn festgelegt, beträgt die Mindesthäufigkeit 1 Stunde.

      Wenn Sie automatische Releases deaktivieren möchten, lassen Sie das Feld Häufigkeit leer.

  4. Optional: Konfigurieren Sie im Abschnitt Kompilierungsüberschreibungen die Kompilierungseinstellungen.

    1. Geben Sie im Feld Google Cloud-Projekt-ID die ID des Projekts inGoogle Cloud 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. Klicken Sie auf Variable hinzufügen, um eine weitere Kompilierungsvariable hinzuzufügen.
  6. Klicken Sie auf Erstellen.

Wenn Sie das Standardprojekt überschreiben, achten Sie darauf, dass Ihr benutzerdefiniertes Dienstkonto Zugriff auf das in der Release-Konfiguration festgelegte Projekt hat.

In der folgenden Release-Konfiguration wird beispielsweise jede Stunde ein production-Kompilierungsergebnis aus dem Branch main erstellt, ohne dass Kompilierungsüberschreibungen vorgenommen werden:

  • Veröffentlichungs-ID: production
  • Git-Commitish: main
  • Häufigkeit: stündlich
  • Keine Kompilierungsüberschreibungen

Details einer Releasekonfiguration ansehen

Sie können die folgenden Details einer Release-Konfiguration aufrufen:

  • 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 Details zu einer Releasekonfiguration auf:

  1. Rufen Sie in Ihrem Repository Releases & Planung auf.
  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 frühere Kompilierungsergebnisse angezeigt, die automatisch von der Releasekonfiguration erstellt wurden.

In der Tabelle Ergebnisse der manuellen bzw. API-Kompilierung werden die Kompilierungsergebnisse angezeigt,die manuell oder über 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:

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

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 Release-Konfiguration erstellen und dann die Release-Konfiguration aktualisieren, um das Feld releaseCompilationResult mit diesem neuen Wert festzulegen.

Die Ergebnisse der manuellen Kompilierung werden auf der Seite Release-Konfigurationsdetails 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 Release-Konfiguration in BigQuery aus:

  1. Rufen Sie in Ihrem Repository Releases & Planung auf.
  2. Klicken Sie im Abschnitt 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 Workflowaktionen aus:
    1. Klicken Sie auf Alle Aktionen, um den gesamten Workflow auszuführen.
    2. Wenn Sie ausgewählte Aktionen im Workflow ausführen möchten, klicken Sie auf Auswahl von Aktionen und wählen Sie dann 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 dann 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ängigkeiten ausführen möchten, wählen Sie die Option Abhängigkeiten einschließen aus.
  7. 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 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 Release-Konfiguration:

  1. Rufen Sie in Ihrem Repository Releases & Planung auf.
  2. Klicken Sie neben der Releasekonfiguration, die Sie bearbeiten möchten, auf das 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. Rufen Sie in Ihrem Repository Releases & Planung auf.
  2. Klicken Sie neben der Releasekonfiguration, die Sie löschen möchten, auf das Menü Mehr und dann auf Löschen.
  3. Klicken Sie im Dialogfeld Releasekonfiguration löschen auf Löschen.

Nächste Schritte