Geplante Workflowausführungen
Sie können die Häufigkeit der Ausführungen Ihres Dataform-SQL-Workflows festlegen. Erstellen Sie dazu einen Cloud Scheduler-Job, der einen Workflow für Workflows auslöst. Workflows führt Dienste in einem von Ihnen definierten Orchestrierungsworkflow aus.
Workflows führt Ihren Dataform-SQL-Workflow in einem Prozess aus zwei Schritten aus. Zuerst wird der Code Ihres Dataform-Repositorys von Ihrem Git-Anbieter abgerufen und in ein Kompilierungsergebnis kompiliert. Anschließend wird anhand des Kompilierungsergebnisses ein Dataform-SQL-Workflow erstellt und mit der von Ihnen festgelegten Häufigkeit ausgeführt.
Hinweise
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus oder erstellen Sie ein Repository.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Editor (roles/dataform.editor
) für Repositories zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Planen von Dataform-Ausführungen mit Workflows benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Geplanten Orchestrierungsworkflow erstellen
Zum Ausführen geplanter Ausführungen Ihres Dataform-SQL-Workflows verwenden Sie Workflows, um einen Orchestrierungsworkflow zu erstellen und einen Cloud Scheduler-Job als Trigger hinzuzufügen.
Workflows verwenden Dienstkonten, um Workflows Zugriff auf Google Cloud-Ressourcen zu gewähren. Erstellen Sie ein Dienstkonto und weisen Sie ihm die Rolle Dataform Editor sowie die Mindestberechtigungen zu, die für die Verwaltung Ihres Orchestrierungsworkflows erforderlich sind. Weitere Informationen finden Sie unter Workflowberechtigungen für den Zugriff auf Google Cloud-Ressourcen gewähren.
Erstellen Sie einen Orchestrierungsworkflow und verwenden Sie den folgenden YAML-Quellcode als Workflowdefinition:
main: steps: - init: assign: - repository: projects/PROJECT_ID/locations/REPOSITORY_LOCATION/repositories/REPOSITORY_ID - createCompilationResult: call: http.post args: url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/compilationResults"} auth: type: OAuth2 body: gitCommitish: GIT_COMMITISH result: compilationResult - createWorkflowInvocation: call: http.post args: url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/workflowInvocations"} auth: type: OAuth2 body: compilationResult: ${compilationResult.body.name} result: workflowInvocation - complete: return: ${workflowInvocation.body.name}
Ersetzen Sie Folgendes:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- REPOSITORY_LOCATION: der Speicherort Ihres Dataform-Repositorys
- REPOSITORY_ID: der Name Ihres Dataform-Repositorys
- GIT_COMMITISH: Der Git-Zweig, von dem aus Sie Dataform-Code ausführen möchten. Ersetzen Sie bei einem neu erstellten Repository durch
main
.
Dataform-SQL-Workflow zum Erstellen von Kompilierungsergebnisanfragen anpassen
Sie können den vorhandenen Orchestrierungsworkflow aktualisieren und den Dataform SQL-Workflow definieren, um Einstellungen für Kompilierungsergebnisse im YAML-Format zu erstellen. Weitere Informationen zu den Einstellungen finden Sie in der Referenz zur REST-Ressource projects.locations.repositories.compilationResults
.
Um beispielsweise allen Aktionen während der Kompilierung ein _dev
-schemaSuffix
hinzuzufügen, ersetzen Sie den Schritttext createCompilationResult
durch das folgende Code-Snippet:
- createCompilationResult:
call: http.post
args:
url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/compilationResults"}
auth:
type: OAuth2
body:
gitCommitish: GIT_COMMITISH
codeCompilationConfig:
schemaSuffix: dev
Sie können in einer Workflow-Ausführungsanfrage auch zusätzliche Einstellungen als Laufzeitargumente übergeben und mithilfe von Variablen auf diese Argumente zugreifen. Weitere Informationen finden Sie unter Laufzeitargumente in einer Ausführungsanfrage übergeben.
Anfrage zum Aufrufen des Dataform-SQL-Workflows anpassen
Sie können den vorhandenen Orchestrierungsworkflow aktualisieren und die Einstellungen für Anfragen zum Aufrufen von Dataform-SQL-Workflows im YAML-Format definieren. Weitere Informationen zu den Einstellungen für Aufrufanfragen finden Sie in der Referenz zur REST-Ressource projects.locations.repositories.workflowInvocations
.
Wenn Sie beispielsweise nur Aktionen mit dem Tag hourly
und allen transitiven Abhängigkeiten ausführen möchten, ersetzen Sie den Text createWorkflowInvocation
durch das folgende Code-Snippet:
- createWorkflowInvocation:
call: http.post
args:
url: ${"https://dataform.googleapis.com/v1beta1/" + repository + "/workflowInvocations"}
auth:
type: OAuth2
body:
compilationResult: ${compilationResult.body.name}
invocationConfig:
includedTags:
- hourly
transitiveDependenciesIncluded: true
Sie können in einer Workflow-Ausführungsanfrage auch zusätzliche Einstellungen als Laufzeitargumente übergeben und mithilfe von Variablen auf diese Argumente zugreifen. Weitere Informationen finden Sie unter Laufzeitargumente in einer Ausführungsanfrage übergeben.
Nächste Schritte
- Weitere Informationen zum Konfigurieren von Cronjob-Zeitplänen in Cloud Scheduler finden Sie unter Zeitpläne für Cronjobs konfigurieren.
- Weitere Informationen zu den Preisen für Workflows finden Sie unter Preise für Workflows.
- Weitere Informationen zu den Cloud Scheduler-Preisen finden Sie unter Scheduler-Preise.
- Informationen zum Planen von Ausführungen mit Cloud Composer und zum Planen von Ausführungen mit Cloud Composer finden Sie unter Ausführungen mit Cloud Composer planen.