In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun:
- Ausführungen mit Workflowkonfigurationen planen
- Ausführungen mit Workflows und Cloud Scheduler planen
- Ausführungen mit Managed Service for Apache Airflow planen.
- Läufe mit Cloud Build-Triggern automatisieren
In der folgenden Tabelle werden die Methoden verglichen:
| Methode | Ziel | Triggertyp |
|---|---|---|
| Workflowkonfigurationen | Standardmäßige, zeitbasierte Produktionsläufe in Dataform. | Zeitbasiert |
| Workflows und Cloud Scheduler | Leichte, serverlose Orchestrierung von Dataform zusammen mit anderen APIs. | Zeit- oder ereignisbasiert |
| Managed Airflow | Komplexe Pipelines mit Abhängigkeiten außerhalb von BigQuery. | Zeit- oder ereignisbasiert |
| Cloud Build-Trigger | Releases unmittelbar nach einem Git-Push automatisieren. | Ereignisgesteuert |
Hinweis
So planen Sie Ausführungen mit Workflow-Konfigurationen oder planen Sie Ausführungen mit Workflows und Cloud Scheduler:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus oder erstellen Sie eines.
Erstellen Sie eine Releasekonfiguration.
So planen Sie Ausführungen mit Managed Service for Apache Airflow:
- Wählen Sie ein Dataform-Repository aus oder erstellen Sie eines.
- Dataform Zugriff auf BigQuery gewähren
- Wählen Sie einen Dataform-Arbeitsbereich aus oder erstellen Sie einen.
- Erstellen Sie mindestens eine Tabelle.
- Erstellen Sie eine Managed Airflow 2-Umgebung.
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:
- Dataform-Administrator (
roles/dataform.admin) für Repositories - Dienstkontonutzer (
roles/iam.serviceAccountUser) für das benutzerdefinierte Dienstkonto - Composer-Worker (
roles/composer.worker) für das Dienstkonto der Managed Airflow-Umgebung -
Ausführungen mit Cloud Build automatisieren:
- Dienstkontoadministrator (
roles/iam.serviceAccountAdmin) für das benutzerdefinierte Dienstkonto - Cloud Build-Bearbeiter (
roles/cloudbuild.builds.editor) für das Projekt
- Dienstkontoadministrator (
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.
Wenn Sie beim Erstellen einer Workflowkonfiguration ein benutzerdefiniertes Dienstkonto verwenden möchten, gewähren Sie Zugriff auf das benutzerdefinierte Dienstkonto.
Wenn Sie Nutzeranmeldedaten für ein Google-Konto verwenden möchten, wenn Sie eine Workflowkonfiguration erstellen (Vorschau), müssen Sie Zugriff auf das Google-Konto gewähren.
Damit geplante Ausführungen für eine Workflowkonfiguration aktiviert werden können, müssen Sie dem Dataform-Standarddienst-Agent die Berechtigung iam.serviceAccounts.actAs für das benutzerdefinierte Dienstkonto erteilen, das in der Workflowkonfiguration verwendet wird. Diese Berechtigung ist in der Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser) verfügbar. Weitere Informationen finden Sie unter Strengen „Act-as“-Modus verwenden.
Informationen zur Verbesserung der Sicherheit bei der Planung finden Sie unter Erweiterte Planungsberechtigungen implementieren.
Ausführungen mit Workflowkonfigurationen planen
In diesem Abschnitt erfahren Sie, wie Sie eine Workflowkonfiguration in Dataform erstellen, um Workflowläufe zu planen und zu konfigurieren. Mit Workflowkonfigurationen können Sie Dataform-Workflows nach einem Zeitplan ausführen.
Workflowkonfigurationen
Wenn Sie Dataform-Ausführungen aller oder ausgewählter Workflowaktionen in BigQuery planen möchten, können Sie Workflowkonfigurationen erstellen. In einer Workflowkonfiguration wählen Sie eine Konfiguration für die Zusammenstellung von Releases aus, legen Workflowaktionen für die Ausführung fest und legen den Ausführungszeitplan fest.
Bei einer geplanten Ausführung Ihrer Workflowkonfiguration stellt Dataform dann die ausgewählten Aktionen aus dem neuesten Kompilierungsergebnis in Ihrer Releasekonfiguration in BigQuery bereit. Sie können die Ausführung einer Workflow-Konfiguration auch manuell mit der Dataform API workflowConfigs auslösen.
Eine Dataform-Workflowkonfiguration enthält die folgenden Ausführungseinstellungen:
- ID der Workflowkonfiguration.
- Releasekonfiguration.
Dienstkonto
Dies ist das benutzerdefinierte Dienstkonto, das der Workflowkonfiguration zugeordnet ist. Sie können ein benutzerdefiniertes Dienstkonto auswählen, das mit Ihrem Google Cloud Projekt verknüpft ist, oder ein anderes Dienstkonto manuell eingeben. Standardmäßig verwenden Workflowkonfigurationen dieselben Dienstkonten wie ihre Repositories.
Dienstkonto-Anmeldedaten sind die Standardautorisierungsmethode für die Erstellung und Ausführung von geplanten Workflow-Konfigurationen.
Anmeldedaten für Google-Konten (Vorschau)
Nutzeranmeldedaten für Google-Konten sind die Standardautorisierungsmethode für die manuelle Erstellung und Ausführung von Workflowkonfigurationen, die nicht geplant sind. Weitere Informationen finden Sie unter Google-Konto autorisieren.
Auszuführende Workflowaktionen:
- Alle Aktionen.
- Auswahl von Aktionen.
- Auswahl von Tags.
Ausführungszeitplan und Zeitzone.
Workflowkonfiguration erstellen
So erstellen Sie eine Dataform-Workflowkonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie im Bereich Workflowkonfigurationen auf Erstellen.
Geben Sie im Bereich Workflowkonfiguration erstellen im Feld Konfigurations-ID eine eindeutige ID für die Workflowkonfiguration ein.
IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
Wählen Sie im Menü Releasekonfiguration eine Releasekonfiguration für die Kompilierung aus.
Autorisieren Sie im Abschnitt Authentifizierung die Workflowkonfiguration mit den Anmeldedaten Ihres Google-Kontos oder eines Dienstkontos.
Wenn Sie die Nutzeranmeldedaten Ihres Google-Kontos verwenden möchten (Vorschau), wählen Sie Mit meinen Nutzeranmeldedaten ausführen aus.
Optional: Wählen Sie im Abschnitt Optionen für erweiterten Zugriff die zusätzlichen Dienste aus, die für Ihren Workflow erforderlich sind:
- Knowledge Catalog: Ermöglicht Google Cloud Aktualisierungen von Knowledge Catalog-Metadaten.
- Google Drive: Gewährt Lesezugriff auf Google Drive-Dateien.
- Bigtable: Ermöglicht Lesezugriff auf Google Bigtable-Daten.
Wenn Sie ein benutzerdefiniertes Dienstkonto verwenden möchten, wählen Sie Mit ausgewähltem Dienstkonto ausführen und dann das Dienstkonto aus, das mit Ihrem Google Cloud Projekt verknüpft ist und auf das Sie Zugriff haben. Wenn Sie kein Dienstkonto auswählen, wird in der Workflowkonfiguration das Dienstkonto des Repositorys verwendet.
Optional: Geben Sie im Feld Häufigkeit des Zeitplans die Häufigkeit der Ausführungen im unix-cron-Format ein.
Damit Dataform das neueste Kompilierungsergebnis in der entsprechenden Releasekonfiguration ausführt, sollte zwischen dem Zeitpunkt der Erstellung des Kompilierungsergebnisses und dem Zeitpunkt der geplanten Ausführung eine Pause von mindestens einer Stunde liegen.
Optional: Wählen Sie im Menü Zeitzone die Zeitzone für Läufe aus.
Die Standardzeitzone ist UTC.
Wählen Sie die auszuführenden Workflow-Aktionen aus:
- Klicken Sie auf Alle Aktionen, um den gesamten Workflow auszuführen.
- Wenn Sie ausgewählte Aktionen im Workflow ausführen möchten, klicken Sie auf Auswahl von Aktionen und wählen Sie dann die gewünschten Aktionen aus.
- Wenn Sie Aktionen mit ausgewählten Tags ausführen möchten, klicken Sie auf Auswahl von Tags und wählen Sie dann Tags aus.
- Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre Abhängigkeiten ausführen möchten, wählen Sie die Option Include dependencies (Abhängigkeiten einbeziehen) aus.
- Optional: Wenn Sie ausgewählte Aktionen oder Tags und ihre abhängigen Elemente ausführen möchten, wählen Sie die Option Include dependents (Abhängige Elemente einbeziehen) aus.
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.
Optional: Legen Sie die Priorität des BigQuery-Abfragejobs mit der Option Als interaktiven Job mit hoher Priorität ausführen (Standardeinstellung) fest. Standardmäßig führt BigQuery Abfragen als interaktive Abfragejobs aus, die so schnell wie möglich gestartet werden sollen. Wenn Sie diese Option deaktivieren, werden die Abfragen als Batchabfragejobs mit niedrigerer Priorität ausgeführt.
Klicken Sie auf Erstellen. Wenn Sie Mit meinen Nutzeranmeldedaten ausführen als Authentifizierungsmethode ausgewählt haben, müssen Sie Ihr Google-Konto autorisieren (Vorschau).
Die folgende Workflowkonfiguration führt beispielsweise Aktionen mit dem Tag hourly stündlich in der Zeitzone CEST aus:
- Konfigurations-ID:
production-hourly - Releasekonfiguration: –
- Häufigkeit:
0 * * * * - Zeitzone:
Central European Summer Time (CEST) - Auswahl von Workflow-Aktionen: Auswahl von Tags,
hourly-Tag
Google-Konto autorisieren
Wenn Sie die Ressource mit den Nutzeranmeldedaten Ihres Google-Kontos authentifizieren möchten, müssen Sie BigQuery-Pipelines manuell die Berechtigung erteilen, das Zugriffstoken für Ihr Google-Konto abzurufen und auf die Quelldaten in Ihrem Namen zuzugreifen. Sie können die manuelle Genehmigung über das OAuth-Dialogfeld gewähren. Wenn Sie eine der Optionen für erweiterten Zugriff auswählen, müssen Sie Zugriff auf die entsprechenden Dienste gewähren, z. B. Google Drive oder Knowledge Catalog.
Sie müssen BigQuery-Pipelines nur einmal die Berechtigung erteilen.
So heben Sie die erteilte Berechtigung auf:
- Rufen Sie Ihre Google-Kontoseite auf.
- Klicken Sie auf BigQuery-Pipelines.
- Klicken Sie auf Zugriff entfernen.
Wenn Sie den Inhaber der Workflowkonfiguration durch Aktualisieren der Anmeldedaten ändern, ist auch eine manuelle Genehmigung erforderlich, falls der neue Google-Kontoinhaber noch nie eine Workflowkonfiguration erstellt hat.
Workflowkonfiguration bearbeiten
So bearbeiten Sie eine Workflow-Konfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie neben der Workflowkonfiguration, die Sie bearbeiten möchten, auf das Menü Mehr und dann auf Bearbeiten.
- Bearbeiten Sie im Bereich Workflowkonfiguration bearbeiten die Einstellungen der Workflowkonfiguration und klicken Sie dann auf Speichern.
Workflowkonfiguration löschen
So löschen Sie eine Workflowkonfiguration:
- Rufen Sie in Ihrem Repository den Abschnitt Releases & Scheduling (Releases und Planung) auf.
- Klicken Sie neben der Workflowkonfiguration, die Sie löschen möchten, auf das Menü Mehr und dann auf Löschen.
- Klicken Sie im Dialogfeld Releasekonfiguration löschen auf Löschen.
Ausführungen mit Workflows und Cloud Scheduler planen
In diesem Abschnitt erfahren Sie, wie Sie die Ausführung von Dataform-Workflows mit Workflows und Cloud Scheduler planen.
Geplante Workflowausführungen
Sie können die Häufigkeit Ihrer Dataform-Workflowausführungen festlegen, indem Sie einen Cloud Scheduler-Job erstellen, der einen Workflows-Workflow auslöst. Workflows führt Dienste in einem von Ihnen definierten Orchestrierungsworkflow aus.
Workflows führen Ihren Dataform-Workflow in einem zweistufigen Prozess aus. Zuerst wird der Code Ihres Dataform-Repositorys von Ihrem Git-Anbieter abgerufen und in ein Kompilierungsergebnis kompiliert. Anschließend wird das Kompilierungsergebnis verwendet, um einen Dataform-Workflow zu erstellen, der mit der von Ihnen festgelegten Häufigkeit ausgeführt wird.
Geplanten Orchestrierungsworkflow erstellen
Wenn Sie Ausführungen Ihres Dataform-Workflows planen möchten, verwenden Sie Workflows, um einen Orchestrierungsworkflow zu erstellen und einen Cloud Scheduler-Job als Trigger hinzuzufügen.
Workflows verwenden Dienstkonten, um Workflows Zugriff aufGoogle Cloud -Ressourcen zu gewähren. Erstellen Sie ein Dienstkonto und gewähren Sie ihm die folgenden Berechtigungen:
- Rolle „Dataform-Bearbeiter“ (
roles/dataform.editor). - Rolle „Dienstkontonutzer“ (
roles/iam.serviceAccountUser) für das benutzerdefinierte Dienstkonto, das in Dataform verwendet wird. - Die Mindestberechtigungen, die zum Verwalten Ihres Orchestrierungsworkflows erforderlich sind. Weitere Informationen finden Sie unter Zugriff auf Google Cloud -Ressourcen für einen Workflow gewähren.
- Rolle „Dataform-Bearbeiter“ (
Erstellen Sie einen Orchestrierungsworkflow und verwenden Sie den folgenden YAML-Quellcode als Workflow-Definition: