In diesem Dokument wird das Konzept von Dataform-Repositories erläutert und beschrieben, wie Sie ein neues Repository erstellen.
Dataform-Repositories
Jedes Dataform-Repository enthält eine Sammlung von SQLX- und JavaScript-Dateien, aus denen Ihr Workflow besteht, sowie Dataform-Konfigurationsdateien und -Pakete. Sie interagieren mit den Inhalten Ihres Repositorys in einem Entwicklungsarbeitsbereich.
Ihre Repositories werden auf der Dataform-Seite in alphabetischer Reihenfolge der Repository-IDs angezeigt. Sie können sie sortieren und filtern.
Rufen Sie in der Google Cloud Console die Seite Dataform auf, um Ihre Repositories aufzurufen.
Jedes Dataform-Repository ist mit einem Dataform-Standarddienst-Agent oder einem benutzerdefinierten Dienstkonto verbunden. Sie können nur beim Erstellen eines Repositorys ein benutzerdefiniertes Dienstkonto auswählen. Sie können das Dienstkonto später bearbeiten.
Standardmäßig verwendet Dataform einen Dienst-Agent oder ein Dienstkonto, das von Ihrer Projektnummer abgeleitet ist, im folgenden Format:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Dataform verwendet Git, um Änderungen aufzuzeichnen und Dateiversionen zu verwalten. Jedes Dataform-Repository entspricht einem Git-Repository. Nachdem Sie ein Dataform-Repository erstellt haben, können Sie es mit einem Remote-Repository auf GitHub, GitLab oder Bitbucket verbinden.
In einem Dataform-Repository wird der Repository-Code gespeichert. In einem verbundenen Repository wird der Repository-Code im Drittanbieter-Repository gespeichert. Dataform interagiert mit dem Drittanbieter-Repository, damit Sie dessen Inhalte in einem Dataform-Entwicklungsarbeitsbereich bearbeiten und ausführen können.
Die Seite „Dataform-Repository“ besteht aus den folgenden Komponenten:
- Tab „Entwicklungsarbeitsbereiche“
- Zeigt die im Repository erstellten Entwicklungsarbeitsbereiche an.
- Tab „Workflow-Ausführungsprotokolle“
- Zeigt Ausführungslogs für Dataform-Workflows an.
- Tab „Releases und Planung“
- Hier können Sie Releasekonfigurationen und Workflowkonfigurationen ansehen, erstellen, bearbeiten und löschen.
- Tab „Einstellungen“
- Zeigt den Namen und den Speicherort des Repositorys an. Für ein Repository, das mit einem Drittanbieter-Git-Repository verbunden ist, werden die Drittanbieter-Repository-Quelle, der Name des Standardzweigs und das geheime Token angezeigt. Hier werden die Schaltflächen zum Verbinden des Repositorys mit einem Drittanbieter-Git-Repository und zum Bearbeiten der Git-Verbindung angezeigt.
- Schaltfläche „Entwicklungsarbeitsbereich erstellen“
- Ermöglicht das Erstellen eines Entwicklungsarbeitsbereichs.
Nachdem Sie einen Entwicklungsarbeitsbereich erstellt und initialisiert haben, können Sie die Datei mit den Workflow-Einstellungen bearbeiten, um die folgenden Dataform-Einstellungen Ihres Repositorys zu konfigurieren:
- Die Standarddatenbank (Google Cloud Projekt-ID).
- Das Standardschema (BigQuery-Dataset-ID).
- Der Standard-BigQuery-Standort.
- Das Standardschema (BigQuery-Dataset-ID) für Behauptungen.
- Das Lager, das auf
bigquerygesetzt sein muss. - Benutzerdefinierte Variablen, die dem Projektcode während der Kompilierung zur Verfügung gestellt werden.
Weitere Informationen zu Dataform-Repository-Einstellungen finden Sie unter IProjectConfig in der Dataform Core-Referenz.
Repository-Einstellungen
Wenn Sie ein Dataform-Repository erstellen, müssen Sie die folgenden Repository-Einstellungen festlegen:
- Repository-ID
- Eine eindeutige ID des Repositorys. IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
- Region
Dataform-Region zum Speichern des Repositorys und seiner Inhalte.
Diese Speicherregion kann sich von der Verarbeitungsregion unterscheiden, in der Dataform Ihren Code verarbeitet und die Ausgabe von Ausführungen speichert. Standardmäßig ist die Verarbeitungsregion auf Ihre standardmäßige BigQuery-Dataset-Region festgelegt. Sie können die Verarbeitungsregion in der Datei mit den Workflow-Einstellungen bearbeiten, nachdem Sie das Repository erstellt haben. Weitere Informationen finden Sie unter Dataform-Workflow-Einstellungen konfigurieren.
- Dienst-Agent oder Dienstkonto
Der Dataform-Dienst-Agent oder das benutzerdefinierte Dienstkonto, das dem Repository zugeordnet ist. Für neue Repositories müssen Sie ein benutzerdefiniertes Dienstkonto angeben. Sie können ein Dienstkonto auswählen, das mit IhremGoogle Cloud -Projekt verknüpft ist, oder manuell ein anderes Dienstkonto eingeben.
Standardmäßig verwendet Dataform einen Dienst-Agent oder ein Dienstkonto, das von Ihrer Projektnummer abgeleitet ist, im folgenden Format:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comSie müssen ein benutzerdefiniertes Dienstkonto verwenden, um Workflows in Ihrem Repository auszuführen. Der Standard-Dataform-Dienst-Agent wird jedoch weiterhin für alle anderen Repository-Vorgänge verwendet.
- Strikter „Act-as“-Modus
Ermöglicht eine zusätzliche Sicherheitsprüfung, für die die Berechtigung
iam.serviceAccounts.actAsfür das Dienstkonto erforderlich ist. Für neue Repositories wird der strikte actAs-Modus erzwungen. Für bestehende Repositories empfehlen wir die Verwendung benutzerdefinierter Dienstkonten und die Aktivierung des strikten „Act-as“-Modus, um ein sichereres und vorhersehbareres Berechtigungsmodell zu gewährleisten.- Verschlüsselung
Verschlüsselungsmethode für das Repository. Sie können die Standardverschlüsselung, einen eindeutigen vom Kunden verwalteten Cloud KMS-Verschlüsselungsschlüssel oder einen standardmäßigen Dataform-CMEK-Schlüssel verwenden. Weitere Informationen zur Verwendung von vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) in Dataform finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
Nachdem Sie ein Repository erstellt haben, können Sie es mit GitHub oder GitLab verbinden.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Wenn Sie die CMEK-Verschlüsselung für das Repository verwenden möchten, aktivieren Sie die CMEK-Verschlüsselung von Dataform-Repositories.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Repositories zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Löschen eines Repositorys benötigen:
-
Dataform-Administrator (
roles/dataform.admin) – das Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser) – das benutzerdefinierte Dienstkonto
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.
Erforderliche Rollen zuweisen
Wenn Sie Workflows in Ihrem Dataform-Repository und in BigQuery ausführen möchten, können Sie ein benutzerdefiniertes Dienstkonto oder Ihr Google-Konto verwenden.
Ihr benutzerdefiniertes Dienstkonto muss die folgenden erforderlichen Rollen haben:
- BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor) für Projekte oder bestimmte BigQuery-Datasets, für die Dataform sowohl Lese- als auch Schreibzugriff benötigt. Dazu gehört in der Regel das Projekt, in dem Ihr Dataform-Repository gehostet wird. - BigQuery Data Viewer (
roles/bigquery.dataViewer) für Projekte oder bestimmte BigQuery-Datasets, auf die Dataform schreibgeschützten Zugriff benötigt. - BigQuery-Jobnutzer (
roles/bigquery.jobUser) für das Projekt, in dem sich Ihr Dataform-Repository befindet.
Damit Dataform Ihr benutzerdefiniertes Dienstkonto verwenden kann, muss der Standard-Dataform-Dienst-Agent die folgenden Rollen für die benutzerdefinierte Dienstkontoressource haben:
- Ersteller von Dienstkonto-Token
(
roles/iam.serviceAccountTokenCreator) - Dienstkontonutzer
(
roles/iam.serviceAccountUser)
So weisen Sie diese Rollen zu:
Rufen Sie in der Google Cloud Console die Seite IAM auf.
Klicken Sie auf Zugriff erlauben.
Geben Sie im Feld Neue Hauptkonten die ID Ihres benutzerdefinierten Dienstkontos ein.
Wählen Sie im Menü Rolle auswählen die folgenden Rollen einzeln aus. Verwenden Sie für jede zusätzliche Rolle Weitere Rolle hinzufügen:
- BigQuery-Dateneditor
- BigQuery-Datenbetrachter
- BigQuery-Jobnutzer
Klicken Sie auf Speichern.
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
Wählen Sie Ihr benutzerdefiniertes Dienstkonto aus.
Rufen Sie Hauptkonten mit Zugriff auf und klicken Sie auf Zugriff gewähren.
Geben Sie im Feld Neue Hauptkonten die ID Ihres Dataform-Standarddienst-Agents ein.
Die ID Ihres Dataform-Standarddienst-Agents hat das folgende Format:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comErsetzen Sie
PROJECT_NUMBERdurch die numerische ID IhresGoogle Cloud Projekts. Sie finden Ihre Google Cloud Projekt-ID imGoogle Cloud Console-Dashboard. Weitere Informationen finden Sie unter Projekte identifizieren.Fügen Sie in der Liste Rolle auswählen die folgenden Rollen hinzu:
- Dienstkontonutzer
- Ersteller von Dienstkonto-Token
Klicken Sie auf Speichern.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Dataform den erforderlichen Zugriff gewähren.
Repository erstellen
So erstellen Sie ein Dataform-Repository:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie auf Repository erstellen.
Geben Sie auf der Seite Repository erstellen im Feld Repository-ID eine eindeutige ID ein.
IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
Wählen Sie in der Drop-down-Liste Region eine Dataform-Region zum Speichern des Repositorys und seiner Inhalte aus. Wählen Sie die Dataform-Region aus, die Ihrem Standort am nächsten ist.
Eine Liste der verfügbaren Dataform-Regionen finden Sie unter Standorte. Die Repository-Region muss nicht mit dem Standort Ihrer BigQuery-Datasets übereinstimmen.
In der Datei
workflow_settings.yamlkönnen Sie die Verarbeitungsregion festlegen, in der Dataform Ihren Code verarbeitet und die Ausgabe von Ausführungen speichert. Die Verarbeitungsregion muss mit dem Standort Ihrer BigQuery-Datasets übereinstimmen, aber nicht mit der Repository-Region. Weitere Informationen finden Sie unter Dataform-Workflow-Einstellungen konfigurieren.Wählen Sie im Menü Dienstkonto ein benutzerdefiniertes Dienstkonto für das Repository aus.
Im Menü können Sie ein benutzerdefiniertes Dienstkonto auswählen, das mit IhremGoogle Cloud -Projekt verknüpft ist und auf das Sie Zugriff haben. Benutzerdefinierte Dienstkonten werden nur für die Workflowausführung verwendet. Alle anderen Repository-Vorgänge werden vom Standard-Dataform-Dienst-Agent ausgeführt.
- Optional: Wenn Sie ein Dienstkonto auswählen möchten, das nicht im Menü angezeigt wird, klicken Sie auf Manuell eingeben und geben Sie eine Dienstkonto-ID ein.
Erzwingen Sie im Abschnitt Prüfungen auf Berechtigung „actAs“ die Berechtigungsprüfungen für Nutzeraktionen im Repository. Weitere Informationen zu diesen Prüfungen finden Sie unter Strengen „Act-as“-Modus verwenden.
Konfigurieren Sie den ausgewählten Verschlüsselungsmechanismus für das Repository:
.CMEK-Standardschlüssel
In Dataform wird das Kästchen KMS-Standardschlüssel verwenden angezeigt und standardmäßig ausgewählt.
- Wenn Sie das Repository mit dem Dataform-CMEK-Standardschlüssel verschlüsseln möchten, lassen Sie das Kästchen KMS-Standardschlüssel verwenden aktiviert.
Eindeutiger CMEK-Schlüssel
So verschlüsseln Sie das Repository mit einem eindeutigen CMEK-Schlüssel:
- Wenn das Kästchen KMS-Standardschlüssel verwenden standardmäßig aktiviert ist, deaktivieren Sie es.
- Wählen Sie im Abschnitt Verschlüsselung die Option Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) aus.
- Wählen Sie im Drop-down-Menü Vom Kunden verwalteten Schlüssel auswählen einen eindeutigen CMEK-Schlüssel aus.
Verschlüsselung inaktiver Daten
- Wenn Sie die Standardverschlüsselung verwenden möchten, wählen Sie im Abschnitt Verschlüsselung die Option Google-managed encryption key aus.
Klicken Sie auf Erstellen und dann auf Zu Repositories.
Dienstkonto bearbeiten
Sie müssen ein benutzerdefiniertes Dienstkonto mit einem Dataform-Repository für die Workflowausführung verknüpfen. Alle anderen Repository-Vorgänge werden weiterhin vom Standard-Dataform-Dienstkonto ausgeführt.
So bearbeiten Sie das Dienstkonto für ein Dataform-Repository:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus und klicken Sie auf Einstellungen.
Klicken Sie neben dem Feld Dienstkonto auf Dienstkonto bearbeiten.
Wählen Sie im Menü Dienstkonto ein Dienstkonto für das Repository aus.
Im Menü können Sie ein benutzerdefiniertes Dienstkonto auswählen, das mit IhremGoogle Cloud -Projekt verknüpft ist und auf das Sie Zugriff haben.
- Optional: Wenn Sie ein Dienstkonto auswählen möchten, das nicht im Menü angezeigt wird, klicken Sie auf Manuell eingeben und geben Sie eine Dienstkonto-ID ein.
Klicken Sie auf Speichern.
Ein Repository löschen
So löschen Sie ein Repository und seinen Inhalt:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie neben dem Repository, das Sie löschen möchten, auf das Menü Mehr und wählen Sie dann Löschen aus.
Geben Sie im Fenster Repository löschen den Namen des Repositorys ein, um das Löschen zu bestätigen.
Klicken Sie auf Löschen.
Nächste Schritte
- Informationen zum Verbinden eines Dataform-Repositorys mit einem Git-Repository eines Drittanbieters finden Sie unter Mit einem Git-Repository eines Drittanbieters verbinden.
- Weitere Informationen dazu, wie sich die Repository-Größe auf die Entwicklung in Dataform auswirkt, finden Sie unter Übersicht über die Repository-Größe.
- Weitere Informationen zum Aufteilen eines Repositorys in Dataform finden Sie unter Einführung in das Aufteilen von Repositories.
- Informationen zum Konfigurieren der Dataform-Verarbeitungseinstellungen finden Sie unter Dataform-Workflow-Einstellungen konfigurieren.
- Informationen zum Erstellen und Initialisieren eines Arbeitsbereichs finden Sie unter Arbeitsbereich erstellen.