Repository erstellen

In diesem Dokument wird das Konzept von Repositories in Dataform erläutert und beschrieben, wie Sie ein neues Repository erstellen.

Informationen zu 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 in einem Entwicklungsarbeitsbereich mit den Inhalten Ihres Repositorys.

Dataform zeigt Ihre Repositories auf der Dataform-Seite in alphabetischer Reihenfolge der Repository-IDs an. Sie können sie sortieren und filtern.

  • Rufen Sie in der Google Cloud Console die Seite Dataform auf, um Ihre Repositories anzusehen.

    Zu Dataform

Jedes Dataform-Repository ist mit einem standardmäßigen Dataform-Dienst-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 speichert Dataform den Repository-Code. In einem verbundenen Repository speichert das Drittanbieter-Repository den Repository-Code. Dataform interagiert mit dem Drittanbieter-Repository, damit Sie seine Inhalte in einem Dataform-Entwicklungsarbeitsbereich bearbeiten und ausführen können.

Die Seite „Dataform-Repository“ besteht aus den folgenden Komponenten:

Tab „Entwicklungsarbeitsbereiche“
Zeigt Entwicklungsarbeitsbereiche an, die im Repository erstellt wurden.
Tab „Workflowausführungsprotokolle“
Zeigt Dataform-Workflowausführungsprotokolle an.
Tab „Releases und Planung“
Hier können Sie Release-Konfigurationen und Workflow-Konfigurationenansehen, erstellen, bearbeiten und löschen.
Tab „Einstellungen“
Zeigt den Namen und den Speicherort des Repositorys an. Für ein Repository, das mit einem Git-Repository eines Drittanbieters verbunden ist, werden die Quelle des Drittanbieter-Repositorys, der Name des Standardzweigs und das Secret-Token angezeigt. Zeigt die Schaltflächen zum Verbinden des Repositorys mit einem Git-Repository eines Drittanbieters und zum Bearbeiten der Git-Verbindung an.
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 Workfloweinstellungen 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 Zusicherungen.
  • Das Data Warehouse, das auf bigquery festgelegt sein muss.
  • Nutzerdefinierte Variablen, die dem Projektcode während der Kompilierung zur Verfügung gestellt werden.

Weitere Informationen zu den Dataform-Repository-Einstellungen finden Sie unter IProjectConfig in der Dataform-Kernreferenz.

Repository-Einstellungen

Beim Erstellen eines Dataform-Repositorys müssen Sie die folgenden Repository-Einstellungen festlegen:

Repository-ID
Eine eindeutige ID des Repositorys. IDs dürfen nur Zahlen, 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 die Region Ihres Standard-BigQuery-Datasets festgelegt. Sie können die Verarbeitungsregion in der Datei mit den Workfloweinstellungen bearbeiten, nachdem Sie das Repository erstellt haben. Weitere Informationen finden Sie unter Dataform-Workfloweinstellungen konfigurieren.

Dienst-Agent oder Dienstkonto

Der Dataform-Dienst-Agent oder das benutzerdefinierte Dienstkonto, das mit dem Repository verknüpft ist. Für neue Repositories müssen Sie ein benutzerdefiniertes Dienstkonto angeben. Sie können ein Dienstkonto auswählen, das mit Ihrem Google 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.com

Sie müssen ein benutzerdefiniertes Dienstkonto verwenden, um Workflows in Ihrem Repository auszuführen. Der standardmäßige Dataform-Dienst-Agent wird jedoch weiterhin für alle anderen Repository-Vorgänge verwendet.

Strikter „act-as“-Modus

Aktiviert eine zusätzliche Sicherheitsprüfung, für die die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto erforderlich ist. Für neue Repositories, der strikte „act-as“-Modus wird erzwungen. Für vorhandene Repositories empfehlen wir, benutzerdefinierte Dienstkonten zu verwenden und den strikten „act-as“-Modus zu aktivieren, 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 (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

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistung 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 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

Zum Ausführen von Workflows in Ihrem Dataform-Repository und in BigQuery können Sie ein benutzerdefiniertes Dienstkonto oder Ihr Google-Konto verwenden.

Ihr benutzerdefiniertes Dienstkonto muss die folgenden erforderlichen Rollen haben:

  • BigQuery-Dateneditor (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 sich Ihr Dataform-Repository befindet.
  • BigQuery-Datenbetrachter (roles/bigquery.dataViewer) für Projekte oder bestimmte BigQuery-Datasets, für die Dataform nur Lesezugriff 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 standardmäßige Dataform-Dienst-Agent die folgenden Rollen für die benutzerdefinierte Dienstkontoressource haben:

So weisen Sie diese Rollen zu:

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  2. Klicken Sie auf Zugriff erlauben.

  3. Geben Sie im Feld Neue Hauptkonten die ID Ihres benutzerdefinierten Dienstkontos ein.

  4. 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
  5. Klicken Sie auf Speichern.

  6. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.

    Zur Seite „Dienstkonten“

  7. Wählen Sie Ihr benutzerdefiniertes Dienstkonto aus.

  8. Rufen Sie Hauptkonten mit Zugriff auf und klicken Sie dann auf Zugriff erlauben.

  9. Geben Sie im Feld Neue Hauptkonten die ID Ihres standardmäßigen Dataform-Dienst-Agents ein.

    Die ID Ihres standardmäßigen Dataform-Dienst-Agents hat das folgende Format:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    Ersetzen Sie PROJECT_NUMBER durch die numerische ID Ihres Google Cloud Projekts. Sie finden Ihre Google Cloud Projekt-ID im Google Cloud Console-Dashboard. Weitere Informationen finden Sie unter Projekte identifizieren.

  10. Fügen Sie in der Liste Rolle auswählen die folgenden Rollen hinzu:

    • Dienstkontonutzer
    • Ersteller von Dienstkonto-Token
  11. 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:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie auf der Seite Repository erstellen im Feld Repository-ID eine eindeutige ID ein.

    IDs dürfen nur Zahlen, Buchstaben, Bindestriche und Unterstriche enthalten.

  4. 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.yaml kö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-Workfloweinstellungen konfigurieren.

  5. 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 Ihrem Google 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 standardmäßigen Dataform-Dienst-Agent ausgeführt.

    1. Optional: Wenn Sie ein Dienstkonto auswählen möchten, das nicht im Menü angezeigt wird, z. B. weil Sie nicht die Berechtigung iam.serviceAccounts.list haben, die zum Aufrufen der Liste der Rollen erforderlich ist, klicken Sie auf Manuell eingeben und geben Sie die Dienstkonto-ID ein.
  6. 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 Strikten „act-as“-Modus verwenden.

  7. Konfigurieren Sie den ausgewählten Verschlüsselungsmechanismus für das Repository:

    Standard-CMEK-Schlüssel

    Dataform zeigt das Kästchen KMS-Standardschlüssel verwenden an und wählt es standardmäßig aus.

    • Wenn Sie das Repository mit dem standardmäßigen Dataform-CMEK-Schlüssel verschlüsseln möchten, lassen Sie das Kästchen KMS-Standardschlüssel verwenden ausgewählt.

    Eindeutiger CMEK-Schlüssel

    So verschlüsseln Sie das Repository mit einem eindeutigen CMEK-Schlüssel:

    1. Wenn das Kästchen KMS-Standardschlüssel verwenden standardmäßig ausgewählt ist, heben Sie die Auswahl auf.
    2. Wählen Sie im Abschnitt Verschlüsselung die Option Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) aus.
    3. 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.
  8. 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 standardmäßigen Dataform-Dienst-Agent ausgeführt.

So bearbeiten Sie das Dienstkonto für ein Dataform-Repository:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository aus und klicken Sie dann auf Einstellungen.

  3. Klicken Sie neben dem Feld Dienstkonto auf Dienstkonto bearbeiten.

  4. 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 Ihrem Google Cloud Projekt verknüpft ist und auf das Sie Zugriff haben.

    1. 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.
  5. Klicken Sie auf Speichern.

Ein Repository löschen

So löschen Sie ein Repository und seinen gesamten Inhalt:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie neben dem Repository, das Sie löschen möchten, auf das Mehr-Menü und wählen Sie dann Löschen aus.

  3. Geben Sie im Fenster Repository löschen den Namen des Repositorys ein, um das Löschen zu bestätigen.

  4. Klicken Sie auf Löschen.

Nächste Schritte