Kompilierungsüberschreibungen mit der Dataform API konfigurieren

In diesem Dokument erfahren Sie, wie Sie mit Kompilierungsüberschreibungen mithilfe der Dataform API.

Dataform API-Kompilierungsüberschreibungen

Zum Ausführen Ihres SQL-Workflows kompiliert Dataform Ihren Code in SQL, um eine Zusammenstellung erstellen Ergebnis. Dann, während eines Workflows Aufruf Dataform führt das Kompilierungsergebnis in BigQuery aus.

Standardmäßig verwendet Dataform Einstellungen in den Datei mit Workflow-Einstellungen um das Kompilierungsergebnis zu erstellen. Um Daten zu isolieren, die in verschiedenen Phasen ausgeführt werden Ihres Entwicklungszyklus können Sie die Standardeinstellungen Kompilierungsüberschreibungen.

Wenn Sie Dataform API-Anfragen an das Terminal übergeben, können Sie eine einzelnes Kompilierungsergebnis mit Kompilierungsüberschreibungen. Sie können ein Kompilierungsergebnis eines Arbeitsbereichs oder eines ausgewählten Git-Commits.

Um ein Kompilierungsergebnis mit Kompilierungsüberschreibungen zu erstellen, müssen Sie die Methode Dataform API compilationResults.create In der Anfrage müssen Sie eine Quelle angeben, einen Workspace oder Git Commitish verwenden, damit Dataform Kompilierungsergebnis. Im CodeCompilationConfig der compilationResults.create-Anfrage enthält, können Sie die Kompilierung konfigurieren Überschreibungen.

Sie können dann das erstellte Kompilierungsergebnis in einer Dataform API workflowInvocations.create

Mit der Dataform API können Sie die folgenden Kompilierungsüberschreibungen konfigurieren:

Google Cloud Projekt : Google Cloud-Projekt, in dem Dataform die Kompilierungsergebnis, festgelegt in workflow_settings.yaml als defaultProject oder in dataform.json als defaultDatabase.

Tabellenpräfix
Benutzerdefiniertes Präfix wird allen Tabellennamen im Kompilierungsergebnis.
Schema suffix
Benutzerdefiniertes Suffix, das an das Tabellenschema angehängt wird definiert in defaultDataset in workflow_settings.yaml, defaultSchema in dataform.json oder in schema im Block config einer Tabelle.

Der Wert einer Kompilierung Variable : Wert einer Kompilierungsvariable, die im Kompilierungsergebnis verwendet werden soll. Ich kann Kompilierungsvariablen verwenden, um Tabellen bedingt auszuführen.

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

Weitere Informationen zu alternativen Möglichkeiten zum Konfigurieren von Kompilierungsüberschreibungen in Dataform, siehe Einführung in Code Lebenszyklus.

Hinweise

  1. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zu Dataform

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

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

Quelle für Kompilierungsergebnisse festlegen

So rufen Sie die Dataform API auf: compilationResults.create -Anforderung eine Quelle für das Kompilierungsergebnis angeben.

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

Arbeitsbereich als Quelle für Kompilierungsergebnisse festlegen

  • Im compilationResults.create -Anfrage geben Sie für das Attribut workspace den Pfad Dataform-Arbeitsbereich im folgenden Format:
{
"workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
}

Ersetzen Sie Folgendes:

  • PROJECT_NAME durch den Namen Ihres Google Cloud-Projekts.
  • LOCATION durch den Speicherort Ihres Dataform-Repositorys. die in den Workfloweinstellungen festgelegt wurden.
  • REPOSITORY_NAME durch den Namen Ihres Dataform-Objekts zu erstellen.
  • WORKSPACE_NAME durch den Namen Ihres Dataform-Arbeitsbereichs.

Das folgende Codebeispiel zeigt das Attribut workspace im Die compilationResults.create-Anfrage wurde an einen Arbeitsbereich namens "sales-test" festgelegt:

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

Git-Commitish als Quelle für Kompilierungsergebnisse festlegen

  • Im compilationResults.create -Anfrage, geben Sie für das Attribut gitCommitish den ausgewählten Git-Zweig ein. -Tag oder führen Sie den Commit für SHA im folgenden Format durch:

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

Ersetzen Sie GIT_COMMITISH durch den ausgewählten Git-Zweig, das Git-Tag oder ein Git. Führen Sie einen Commit für SHA für das Kompilierungsergebnis durch.

Das folgende Codebeispiel zeigt das Attribut gitCommitish im Anfrage für compilationResults.create auf "staging" festgelegt:

{
  "gitCommitish": "staging"
}

Google Cloud-Standardprojekt überschreiben

Um Staging- oder Produktionstabellen in einem Google Cloud-Projekt zu erstellen, das für die Entwicklung verwendete Projekt verwendet wird, können Sie ein anderes Google Cloud-Projekt ID im Feld CodeCompilationConfig in der Dataform API compilationResults.create

Separate Standardprojekt-ID in der compilationResults.create-Anfrage übergeben überschreibt die standardmäßige Google Cloud-Projekt-ID, die im Datei mit Workflow-Einstellungen ohne jedoch Google Cloud-Projekt-IDs zu überschreiben. die in einzelnen Tabellen konfiguriert wurden.

  • Wenn Sie die standardmäßige Google Cloud-Projekt-ID überschreiben möchten, legen Sie die defaultDatabase fest. mit der ausgewählten Google Cloud-Projekt-ID im CodeCompilationConfig-Objekt im folgenden Format:

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

Ersetzen Sie PROJECT_NAME durch die gewünschte Google Cloud-Projekt-ID. für das Kompilierungsergebnis festzulegen.

Tabellenpräfix hinzufügen

Um Tabellen schnell aus dem Kompilierungsergebnis zu identifizieren, können Sie Tabellennamen im Kompilierungsergebnis durch Übergabe des Tabellenpräfixes im CodeCompilationConfig in der Dataform API compilationResults.create

  • Um ein Tabellenpräfix hinzuzufügen, legen Sie das Attribut tablePrefix in der CodeCompilationConfig-Objekt im folgenden Format:
{
  "codeCompilationConfig": {
    "tablePrefix": "PREFIX",
  }
}

Ersetzen Sie PREFIX durch das Suffix, das Sie anhängen möchten, z. B.: _staging. Beispiel: Ihr defaultDataset in workflow_settings.yaml ist auf dataform gesetzt ist, erstellt Dataform Tabellen im dataform_staging-Schema.

Schemasuffix anhängen

Sie können ein Suffix anhängen, um Entwicklungs-, Staging- und Produktionsdaten voneinander zu trennen. zu Schemas in einem Kompilierungsergebnis hinzu, indem Sie das Schema-Suffix im CodeCompilationConfig in der Dataform API compilationResults.create

  • Wenn Sie ein Schemasuffix anhängen möchten, legen Sie das Attribut schemaSuffix in der CodeCompilationConfig-Objekt im folgenden Format:
{
  "codeCompilationConfig": {
    "schemaSuffix": "SUFFIX",
  }
}

Ersetzen Sie SUFFIX durch das Suffix, das Sie anhängen möchten, z. B.: _staging. Beispiel: Ihr defaultDataset in workflow_settings.yaml ist auf dataform gesetzt ist, erstellt Dataform Tabellen im dataform_staging-Schema.

Hinweis: Der CodeCompilationConfig schemaSuffix überschreibt Schemas, die im Block config von für einzelne Dateien.

Ausgewählte Dateien mit Kompilierungsvariablen bedingt ausführen

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

Um eine Tabelle in einer bestimmten Ausführungseinstellung bedingt auszuführen, verwenden Sie Dataform API gehen Sie so vor:

  1. Erstellen Sie eine Kompilierungsvariable und fügen Sie sie zu ausgewählten Tabellen.
  2. Legen Sie das Schlüssel/Wert-Paar YOUR_VARIABLE und VALUE in der codeCompilationConfig Block Dataform API-Kompilierungsanfrage in der folgendes Format:

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

  4. Ersetzen Sie VALUE durch den Wert der Variablen für diese Kompilierung Ergebnis, das die when-Bedingung erfüllt Tabellen.

Im folgenden Codebeispiel sehen Sie, wie die Variable executionSetting an eine übergeben wird. Dataform API-Kompilierungsanfrage:

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

Kompilierungsergebnis mit Kompilierungsüberschreibungen ausführen

Das folgende Codebeispiel zeigt eine Kompilierungsergebnis-ID, die in einem workflowInvocations.create Anfrage:

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

Nächste Schritte