Git-Repository verbinden und Workflow ausführen

In dieser Kurzanleitung wird beschrieben, wie Sie ein Dataform-Repository erstellen, es mit einem vorhandenen Drittanbieter-Git-Repository verbinden und einen Workflow ausführen. Die folgenden Aufgaben werden über dieGoogle Cloud Console und die Dataform API ausgeführt:

  • Dataform-Repository erstellen
  • Verbinden Sie das Repository mit dem GitHub-Repository dataform-co/dataform-example-project-bigquery.
  • Entwicklungsarbeitsbereich erstellen und initialisieren
  • Fügen Sie dem Projekt eine neue Ansicht hinzu.
  • Kompilieren Sie das Projekt und führen Sie den Workflow in BigQuery aus.

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 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.
  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, Dataform, and Secret Manager 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, Dataform, and Secret Manager 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

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen aller Aufgaben in dieser Kurzanleitung 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.

Dataform-Repository erstellen

Ein Repository ist der Hauptcontainer für Ihr Dataform-Projekt. Wählen Sie eine der folgenden Optionen aus:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf Repository erstellen.

  3. Führen Sie auf der Seite Repository erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Repository-ID den Wert quickstart-repo ein.
    2. Wählen Sie in der Liste Region eine Region aus, z. B. europe-west4.
    3. Wählen Sie in der Liste Dienstkonto ein benutzerdefiniertes Dienstkonto für das Repository aus.
    4. Klicken Sie auf Erstellen.
    5. Klicken Sie auf Zu Repositories.

Sie haben ein Dataform-Repository erstellt. Als Nächstes können Sie das Dataform-Repository mit einem Remote-Git-Repository verbinden.

API

Verwenden Sie zum Erstellen eines Repositorys die Methode projects.locations.repositories.create. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

  • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories
  • Abfrageparameter: repositoryId=REPOSITORY_ID

Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"}' \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories?repositoryId=REPOSITORY_ID"

Ersetzen Sie Folgendes:

  • SERVICE_ACCOUNT_NAME: die ID des benutzerdefinierten Dienstkontos, das zum Ausführen von BigQuery-Jobs erstellt wurde.
  • PROJECT_ID: Die eindeutige Kennung desGoogle Cloud -Projekts, in dem Sie das Dataform-Repository erstellen möchten.
  • LOCATION: die Google Cloud -Region, in der Sie das Repository erstellen möchten, z. B. europe-west4.
  • REPOSITORY_ID: Die eindeutige Kennung für Ihr neues Dataform-Repository, z. B. quickstart-repo.

Sie haben ein Dataform-Repository erstellt. Als Nächstes können Sie das Dataform-Repository mit einem Remote-Git-Repository verbinden.

Mit dem Git-Repository verbinden

Wählen Sie eine der folgenden Optionen aus, um Ihr Dataform-Repository mit Ihrem Projekt zu verbinden:

Console

  1. Rufen Sie die Seite Secret Manager auf.

    Zu Secret Manager

  2. Klicken Sie auf  Secret erstellen.

  3. Geben Sie im Feld Name dataform-git-token ein.

  4. Geben Sie im Feld Secret-Wert Ihr persönliches GitHub-Zugriffstoken (Personal Access Token, PAT) ein.

    Eine Anleitung zum Erstellen eines PAT finden Sie unter Persönliche Zugriffstokens verwalten.

    Wir empfehlen, ein Ablaufdatum für Ihr Token gemäß den Sicherheitsrichtlinien Ihrer Organisation festzulegen.

  5. Klicken Sie auf Secret erstellen.

  6. Klicken Sie auf der Secret-Detailseite auf den Tab Berechtigungen und dann auf Zugriff gewähren.

  7. Geben Sie im Feld Neue Hauptkonten Ihren Dataform-Dienst-Agent ein: service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com.

    Ersetzen Sie PROJECT_NUMBER durch dieGoogle Cloud Projektnummer. Weitere Informationen zum Ermitteln der Projektnummer finden Sie unter Projektname, -nummer und -ID ermitteln.

  8. Wählen Sie im Feld Rolle auswählen die Option Secret Manager > Zugriffsperson für Secret Manager-Secret aus.

  9. Klicken Sie auf Speichern.

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

    Zu Dataform

  11. Klicken Sie auf quickstart-repo.

  12. Klicken Sie auf der Repository-Seite auf Einstellungen> Mit Git verbinden.

  13. Wählen Sie im Bereich Link zum Remote-Repository die Option HTTPS aus.

  14. Geben Sie im Feld URL des Remote-Git-Repositorys den Wert https://github.com/dataform-co/dataform-example-project-bigquery.git ein.

  15. Geben Sie im Feld Default remote branch name den Wert master ein.

  16. Wählen Sie im Menü Secret die Option dataform-git-token aus.

  17. Klicken Sie auf Verknüpfen.

Sie haben Ihr Dataform-Repository erfolgreich mit einem Remote-Git-Repository verbunden und die erforderlichen Berechtigungen erteilt. Als Nächstes können Sie einen Entwicklungsarbeitsbereich erstellen und initialisieren.

API

  1. Wenn Sie Ihr persönliches Git-Zugriffstoken speichern möchten, erstellen Sie im Secret Manager ein Secret mit der projects.secrets.create-Methode. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets
    • Abfrageparameter: secretId=dataform-git-token
    • Body:

      {
        "replication": {
          "automatic": {}
        }
      }
      

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "replication": {
          "automatic": {}
        }
      }' \
      "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=dataform-git-token"
    
  2. Fügen Sie dem Secret mit Ihrem persönlichen GitHub-Zugriffstoken (Personal Access Token, PAT) eine Version hinzu. Eine Anleitung zum Erstellen eines PAT finden Sie unter Persönliche Zugriffstokens verwalten. Wir empfehlen, gemäß den Sicherheitsrichtlinien Ihrer Organisation ein Ablaufdatum für Ihr Token festzulegen.

    Verwenden Sie die Methode projects.secrets.addVersion, um eine Secret-Version hinzuzufügen. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion
    • Body:

      {
        "payload": {
          "data": "GITHUB_PAT"
        }
      }
      

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "payload": {
          "data": "$(echo -n "GITHUB_PAT" | base64)"
        }
      }' \
      "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:addVersion"
    

    Ersetzen Sie GITHUB_PAT durch Ihr persönliches GitHub-Zugriffstoken. Der Befehl curl konvertiert Ihr PAT automatisch in einen Base64-codierten String, bevor die Anfrage gesendet wird.

  3. Damit Dataform auf das Secret zugreifen kann, weisen Sie dem Dataform-Dienst-Agenten die Rolle „Zugriffsperson für Secret Manager-Secret“ (roles/secretmanager.secretAccessor) zu. Wählen Sie eine der folgenden Optionen aus, um die Rolle zuzuweisen:

    gcloud

    Führen Sie den Befehl gcloud secrets add-iam-policy-binding aus:

    gcloud secrets add-iam-policy-binding dataform-git-token \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com" \
        --role="roles/secretmanager.secretAccessor"
    

    Ersetzen Sie PROJECT_NUMBER durch dieGoogle Cloud Projektnummer. Weitere Informationen zum Ermitteln der Projektnummer finden Sie unter Projektname, -nummer und -ID ermitteln.

    Secret Manager API

    Verwenden Sie die Methode projects.secrets.setIamPolicy: Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy
    • Body:

      {
        "policy": {
          "bindings": [
            {
              "role": "roles/secretmanager.secretAccessor",
              "members": [
                "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com"
              ]
            }
          ]
        }
      }
      

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "policy": {
        "bindings": [
          {
            "role": "roles/secretmanager.secretAccessor",
            "members": [
              "serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com"
            ]
          }
        ]
      }
    }' \
    "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/dataform-git-token:setIamPolicy"
    

    Ersetzen Sie PROJECT_NUMBER durch dieGoogle Cloud Projektnummer. Weitere Informationen zum Ermitteln der Projektnummer finden Sie unter Projektname, -nummer und -ID ermitteln.

  4. Verwenden Sie die Methode projects.locations.repositories.patch, um Ihr Repository mit einem Remote-Git-Repository zu verbinden. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: PATCH https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID
    • Abfrageparameter: updateMask=gitRemoteSettings

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "gitRemoteSettings": {
          "url": "https://github.com/dataform-co/dataform-example-project-bigquery.git",
          "defaultBranch": "master",
          "authenticationTokenSecretVersion": "projects/PROJECT_ID/secrets/dataform-git-token/versions/1"
        }
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID?updateMask=gitRemoteSettings"
    

Sie haben Ihr Dataform-Repository erfolgreich mit einem Remote-Git-Repository verbunden und die erforderlichen Berechtigungen erteilt. Als Nächstes können Sie einen Entwicklungsarbeitsbereich erstellen und initialisieren.

Entwicklungsarbeitsbereich erstellen und initialisieren

Ein Arbeitsbereich ist eine isolierte Entwicklungsumgebung. Wählen Sie eine der folgenden Optionen aus, um einen Arbeitsbereich zu erstellen und zu initialisieren:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Rufen Sie in Ihrem Repository den Tab Development Workspaces (Entwicklungsarbeitsbereiche) auf.

  4. Klicken Sie auf  Entwicklungsarbeitsbereich erstellen.

  5. Geben Sie im Feld Workspace-ID den Wert dev-workspace ein.

  6. Klicken Sie auf Erstellen.

  7. Wählen Sie auf dem Tab Entwicklungsarbeitsbereiche den Arbeitsbereich dev-workspace aus.

Sie haben einen Entwicklungsarbeitsbereich erstellt und initialisiert. Als Nächstes können Sie die Workfloweinstellungen konfigurieren.

API

Verwenden Sie zum Erstellen eines Arbeitsbereichs die Methode projects.locations.repositories.workspaces.create. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

  • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces
  • Abfrageparameter: workspaceId=WORKSPACE_ID

Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d "{}" \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces?workspaceId=WORKSPACE_ID"

Ersetzen Sie WORKSPACE_ID durch die eindeutige Kennung für Ihren neuen Dataform-Entwicklungsarbeitsbereich, z. B. dev-workspace.

Sie haben einen Entwicklungsarbeitsbereich erstellt und initialisiert. Als Nächstes können Sie die Workfloweinstellungen konfigurieren.

Workflows konfigurieren

In diesem Abschnitt aktualisieren Sie die Projekt-ID in der Datei workflow_settings.yaml, damit Dataform den Workflow in IhremGoogle Cloud -Projekt ausführt. Wählen Sie eine der folgenden Optionen aus, um die Workfloweinstellungen zu konfigurieren:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Rufen Sie in Ihrem Repository den Tab Entwicklungsarbeitsbereiche auf und klicken Sie dann auf dev-workspace.

  4. Wählen Sie im Bereich Dateien die Option workflow_settings.yaml aus.

  5. Ersetzen Sie in der Datei den Wert von defaultProject durch Ihre Projekt-ID.

    Die Datei wird automatisch gespeichert.

Sie haben Ihre Workflow-Einstellungen aktualisiert. Als Nächstes können Sie Ihrem Projekt eine neue Quellendeklaration hinzufügen.

API

  1. Erstellen Sie eine lokale Datei mit dem Namen workflow_settings.yaml und fügen Sie die folgende Konfiguration in die Datei ein:

    defaultProject: PROJECT_ID
    defaultDataset: dataform
    dataformCoreVersion: CORE_VERSION
    

    Ersetzen Sie CORE_VERSION durch die aktuelle stabile (nicht Beta-)Version von Dataform Core, z. B. 3.0.43. Die aktuelle Version finden Sie unter Releases.

  2. Codieren Sie den Dateiinhalt im Terminal in einen Base64-String:

    base64 -w 0 workflow_settings.yaml
    
  3. Kopieren Sie den resultierenden Ausgabestring, um ihn im Platzhalter SETTINGS_DEFINITION zu verwenden, falls Sie sich später in diesen Schritten für die Verwendung des alternativen Befehls curl entscheiden.

  4. Verwenden Sie die Methode projects.locations.repositories.workspaces.writeFile, um die Workflow-Einstellungen zu aktualisieren. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "workflow_settings.yaml",
        "contents": "SETTINGS_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    Ersetzen Sie SETTINGS_DEFINITION durch den Inhalt der YAML-Datei als Base64-codierten String.

Sie haben Ihre Workflow-Einstellungen aktualisiert. Als Nächstes können Sie Ihrem Projekt eine neue Quellendeklaration hinzufügen.

Quelle erstellen

In diesem Abschnitt fügen Sie Ihrem Projekt eine neue SQLX-Quelldeklaration hinzu, die ein vorhandenes BigQuery-Dataset definiert, damit Dataform es in Ihrem Workflow als Datenquelle referenzieren kann. Wählen Sie eine der folgenden Optionen aus, um die neue Quelle zu erstellen:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Rufen Sie in Ihrem Repository den Tab Entwicklungsarbeitsbereiche auf und klicken Sie dann auf dev-workspace.

  4. Wählen Sie im Bereich Dateien den Ordner definitions aus.

  5. Klicken Sie auf  Weitere Dateiaktionen > Datei erstellen.

  6. Geben Sie im Feld Dateipfad hinzufügen definitions/sources/tags.sqlx ein.

  7. Klicken Sie auf Datei erstellen.

  8. Fügen Sie im SQL-Editor für die neue Datei definitions/sources/tags.sqlx den folgenden Code ein:

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    

Sie haben eine Quellendeklaration erstellt. Als Nächstes können Sie Ihrem Projekt eine neue Ansicht hinzufügen.

API

  1. Erstellen Sie eine lokale Datei mit dem Namen tags.sqlx.
  2. Fügen Sie den folgenden Code in die tags.sqlx-Datei ein:

    config {
      type: "declaration",
      database: "bigquery-public-data",
      schema: "stackoverflow",
      name: "tags"
    }
    
  3. Codieren Sie im Terminal den Dateiinhalt in einen einzelnen fortlaufenden String:

    base64 -w 0 tags.sqlx
    
  4. Kopieren Sie den resultierenden Ausgabestring, um ihn im Platzhalter SOURCE_DEFINITION zu verwenden, falls Sie sich später in diesen Schritten für die Verwendung des alternativen Befehls curl entscheiden.

  5. Verwenden Sie die projects.locations.repositories.workspaces.writeFile-Methode, um eine Quelldeklarationsdatei in Ihrem Arbeitsbereich zu erstellen. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "definitions/sources/tags.sqlx",
        "contents": "SOURCE_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    Ersetzen Sie SOURCE_DEFINITION durch den Inhalt der SQLX-Datei als Base64-codierten String.

Sie haben eine Quellendeklaration erstellt. Als Nächstes können Sie Ihrem Projekt eine neue Ansicht hinzufügen.

Ansicht erstellen

In diesem Abschnitt fügen Sie Ihrem Projekt eine neue SQLX-Datei hinzu, in der eine Ansicht definiert wird. Wählen Sie eine der folgenden Optionen aus, um die neue Ansicht zu erstellen:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Rufen Sie in Ihrem Repository den Tab Entwicklungsarbeitsbereiche auf und klicken Sie dann auf dev-workspace.

  4. Wählen Sie im Bereich Dateien den Ordner definitions aus.

  5. Klicken Sie auf  Weitere Dateiaktionen > Datei erstellen.

  6. Geben Sie im Feld Dateipfad hinzufügen definitions/top_question_tags.sqlx ein.

  7. Klicken Sie auf Datei erstellen.

  8. Fügen Sie im SQL-Editor für die neue Datei definitions/top_question_tags.sqlx den folgenden Code ein:

    config {
      type: "view",
      name: "top_question_tags",
      tags: ["daily"],
      schema: "reporting",
    }
    
    select
        tag_name,
        count
    from ${ref("tags")}
    order by count desc
    limit 100
    

Sie haben eine Ansicht erstellt. Als Nächstes können Sie Ihr Projekt kompilieren.

API

  1. Erstellen Sie eine lokale Datei mit dem Namen top_question_tags.sqlx.
  2. Fügen Sie den folgenden Code in die top_question_tags.sqlx-Datei ein:

    config {
      type: "view",
      name: "top_question_tags",
      tags: ["daily"],
      schema: "reporting",
    }
    
    select
        tag_name,
        count
    from ${ref("tags")}
    order by count desc
    limit 100
    
  3. Codieren Sie im Terminal den Dateiinhalt in einen einzelnen fortlaufenden String:

    base64 -w 0 top_question_tags.sqlx
    
  4. Kopieren Sie den resultierenden Ausgabestring, um ihn im Platzhalter VIEW_DEFINITION zu verwenden, falls Sie sich entscheiden, den alternativen Befehl curl später in diesen Schritten zu verwenden.

  5. Verwenden Sie die Methode projects.locations.repositories.workspaces.writeFile, um eine Ansichtsdefinitionsdatei in Ihrem Arbeitsbereich zu erstellen. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "path": "definitions/top_question_tags.sqlx",
        "contents": "VIEW_DEFINITION"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID:writeFile"
    

    Ersetzen Sie VIEW_DEFINITION durch den Inhalt der SQLX-Datei als Base64-codierten String.

Sie haben eine Ansicht erstellt. Als Nächstes können Sie Ihr Projekt kompilieren.

Projekt kompilieren

Bei der Kompilierung werden SQLX-Dateien in einen reinen SQL-Ausführungsgraphen konvertiert. Wählen Sie eine der folgenden Optionen aus, um das Projekt zu kompilieren:

Console

Die Google Cloud Console kompiliert Ihr Projekt automatisch. Sie können die Kompilierung im kompilierten Diagramm in Ihrem Arbeitsbereich überprüfen.

Sie haben Ihr Projekt kompiliert und den Ausführungsgraphen überprüft. Als Nächstes können Sie Ihren Workflow in BigQuery ausführen.

API

  1. Verwenden Sie die Methode projects.locations.repositories.compilationResults.create, um ein Kompilierungsergebnis basierend auf Ihrem Arbeitsbereich zu erstellen. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
        "workspace": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workspaces/WORKSPACE_ID"
      }' \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults"
    
  2. Mit der Methode projects.locations.repositories.compilationResults.get können Sie prüfen, ob Ihr Projekt erfolgreich kompiliert wurde. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

    • Endpunkt: GET https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID

    Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
    

    Ersetzen Sie COMPILATION_ID durch die eindeutige Kennzeichnung für Ihr Kompilierungsergebnis. Diese ID wird in der Antwort auf die Kompilierungsanfrage im vorherigen Schritt angegeben.

  3. Prüfen Sie in der Antwort das Feld compilationErrors. Wenn die Liste leer ist, wurde Ihr Projekt kompiliert.

Sie haben Ihr Projekt kompiliert und den Ausführungsgraphen überprüft. Als Nächstes können Sie Ihren Workflow in BigQuery ausführen.

Workflow ausführen

Wenn Sie die Ausführung Ihres Workflows in BigQuery auslösen möchten, wählen Sie eine der folgenden Optionen aus:

Console

  1. Rufen Sie die BigQuery-Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Rufen Sie in Ihrem Repository den Tab Entwicklungsarbeitsbereiche auf und klicken Sie dann auf dev-workspace.

  4. Klicken Sie in der Symbolleiste auf Ausführung starten > Aktionen ausführen.

  5. Wählen Sie Alle Aktionen aus.

  6. Klicken Sie auf Ausführung starten.

Sie haben Ihren Workflow erfolgreich ausgeführt.

API

Verwenden Sie zum Auslösen eines Workflow-Aufrufs die Methode projects.locations.repositories.workflowInvocations.create. Führen Sie die API-Anfrage mit den folgenden Informationen aus:

  • Endpunkt: POST https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations

Alternativ können Sie im Terminal den folgenden curl-Befehl ausführen:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "compilationResult": "projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/compilationResults/COMPILATION_ID"
  }' \
  "https://dataform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID/workflowInvocations"

Sie haben Ihren Workflow erfolgreich ausgeführt.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

BigQuery-Datasets löschen

Löschen Sie die von diesem Workflow erstellten Datasets, z. B. die Datasets mit den Namen reporting und staging, um zu vermeiden, dass für BigQuery-Assets Gebühren in Rechnung gestellt werden.

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

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

  3. Klicken Sie auf das Menü  Aktionen und wählen Sie Löschen aus.

  4. Geben Sie im Dialogfeld Dataset löschen den Wert delete in das Feld ein und klicken Sie auf Löschen.

Secret Manager-Secret löschen

Um Ihre Sicherheitsressourcen zu bereinigen, löschen Sie das für die Git-Verbindung verwendete Secret.

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

    Zu Secret Manager

  2. Wählen Sie das Secret dataform-git-token aus.

  3. Klicken Sie auf Löschen.

  4. Geben Sie im Bestätigungsdialogfeld den Namen des Secrets ein und klicken Sie auf Löschen.

Entwicklungsarbeitsbereich für Dataform löschen

Für das Erstellen von Entwicklungsarbeitsbereichen für Dataform fallen keine Kosten an. Wenn Sie den Entwicklungsarbeitsbereich löschen möchten, gehen Sie so vor:

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

    Zu Dataform

  2. Klicken Sie auf quickstart-repo.

  3. Klicken Sie auf dem Tab Entwicklungsarbeitsbereiche auf das Menü  Mehr dev-workspace und wählen Sie dann Löschen aus.

  4. Klicken Sie zur Bestätigung auf Löschen.

Dataform-Repository löschen

Für das Erstellen von Dataform-Repositories fallen keine Kosten an. So löschen Sie ein Repository:

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

    Zu Dataform

  2. Klicken Sie neben quickstart-repo auf das Menü  Mehr und wählen Sie 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 zur Bestätigung auf Löschen.

Nächste Schritte