Geplante Workflowausführungen
Sie können die Häufigkeit der Ausführung Ihres Dataform SQL-Workflows festlegen, indem Sie einen Cloud Scheduler-Job erstellen, der einen Workflows-Workflow auslöst. Mit Workflows werden Dienste in einem von Ihnen definierten Orchestrierungsworkflow ausgeführt.
In Workflows wird Ihr Dataform-SQL-Workflow in zwei Schritten ausgeführt. Zuerst wird der Code Ihres Dataform-Repositorys von Ihrem Git-Anbieter abgerufen und in ein Kompilierungsergebnis kompiliert. Anhand des Kompilierungsergebnisses wird dann ein Dataform-SQL-Workflow erstellt und mit der von Ihnen festgelegten Häufigkeit ausgeführt.
Hinweis
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository aus oder erstellen Sie ein neues.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen für Repositories die IAM-Rolle Dataform Editor (roles/dataform.editor
) zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Planen von Dataform-Ausführungen mit Workflows 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.
Geplante Orchestrierungsabläufe erstellen
Wenn Sie geplante Ausführungen Ihres Dataform SQL-Workflows ausführen möchten, erstellen Sie mithilfe von Workflows einen Orchestration-Workflow und fügen Sie einen Cloud Scheduler-Job als Trigger hinzu.
Workflows verwendet Dienstkonten, um Workflows Zugriff aufGoogle Cloud -Ressourcen zu gewähren. Erstellen Sie ein Dienstkonto und gewähren Sie ihm die Rolle Dataform Editor sowie die Mindestberechtigungen, die zum Verwalten des Orchestration-Workflows erforderlich sind. Weitere Informationen finden Sie unter Workflowberechtigungen für den Zugriff auf Ressourcen gewähren Google Cloud .
Erstellen Sie einen Orchestration-Workflow und verwenden Sie den folgenden YAML-Quellcode als Workflow-Definition:
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, aus dem Sie Dataform-Code ausführen möchten. Ersetzen Sie bei einem neu erstellten Repository
main
.
Anfrage zum Erstellen von Kompilierungsergebnissen für den Dataform-SQL-Workflow anpassen
Sie können den vorhandenen Orchestration-Workflow aktualisieren und die Einstellungen für die Anfrage zum Erstellen des Kompilierungsergebnisses des Dataform-SQL-Workflows im YAML-Format definieren. Weitere Informationen zu den Einstellungen finden Sie in der Referenz zur projects.locations.repositories.compilationResults
REST-Ressource.
Wenn Sie beispielsweise allen Aktionen während der Kompilierung ein _dev
schemaSuffix
hinzufügen möchten, ersetzen Sie den createCompilationResult
-Schrittkörper 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 auch zusätzliche Einstellungen als Laufzeitargumente in einer Ausführungsanfrage für Workflows übergeben und mithilfe von Variablen auf diese Argumente zugreifen. Weitere Informationen finden Sie unter Laufzeitargumente in einer Ausführungsanfrage übergeben.
Dataform-Anfrage zum Aufrufen eines SQL-Workflows anpassen
Sie können den vorhandenen Orchestration-Workflow aktualisieren und die Einstellungen für die Dataform-SQL-Workflow-Aufrufanfrage im YAML-Format definieren. Weitere Informationen zu den Einstellungen für Aufrufanfragen finden Sie in der Referenz zur projects.locations.repositories.workflowInvocations
REST-Ressource.
Wenn Sie beispielsweise nur Aktionen mit dem hourly
-Tag mit allen transitiven Abhängigkeiten ausführen möchten, ersetzen Sie den createWorkflowInvocation
-Textkörper 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 auch zusätzliche Einstellungen als Laufzeitargumente in einer Ausführungsanfrage für Workflows ü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 Preisen für Cloud Scheduler finden Sie unter Preise für Scheduler.
- Informationen zum Planen von Ausführungen mit Cloud Composer finden Sie unter Ausführungen mit Cloud Composer planen.