Datenprodukte erstellen

Dieses Dokument richtet sich an Datenproduktinhaber, die Datenprodukte in Knowledge Catalog (früher Dataplex Universal Catalog) erstellen und konfigurieren möchten. Achten Sie beim Definieren dieser Ressourcen darauf, dass ihre IDs den Richtlinien für die Benennung von Knowledge Catalog-Ressourcen entsprechen.

Weitere Informationen zur Architektur und zu den wichtigsten Konzepten von Datenprodukten finden Sie unter Informationen zu Datenprodukten.

Hinweis

Bevor Sie Datenprodukte erstellen, müssen Sie die folgenden Voraussetzungen erfüllen.

Gemini aktivieren

Die Konfiguration von Gemini in Ihrem Daten-Asset ist ein optionaler, aber dringend empfohlener Schritt, bevor Sie Ihr erstes Datenprodukt erstellen.

Standardmäßig müssen Sie beim Erstellen eines Datenprodukts manuell Unternehmensbeschreibungen, technische Definitionen und Onboarding-Dokumentation für Ihre Assets eingeben. Wenn Sie die Gemini-Integration aktivieren, nutzt Knowledge Catalog KI-Unterstützung, um Ihre Schemas und Datenscanergebnisse automatisch zu analysieren und Folgendes zu generieren:

  • Geschäftsdokumentation: Generiert Dokumentationsvorlagen und klare Beschreibungen für Ihr Datenprodukt und die einzelnen Daten-Assets.
  • Statistiken und Beispielabfragen: Erstellt einsatzbereite Beispielabfragen basierend auf dem Schemalayout des Assets, sodass Datennutzer nach der Genehmigung sofort mit der Abfrage des Produkts beginnen können.

Wenn Sie Gemini nicht aktivieren möchten, können Sie diesen Abschnitt überspringen. Sie müssen jedoch alle Asset-Metadaten und Abfragevorlagen während der Erstellung manuell angeben.

Weitere Informationen zum Aktivieren von Gemini in BigQuery finden Sie unter Gemini in BigQuery einrichten.

APIs aktivieren

Aktivieren Sie die Dataplex- und BigQuery APIs, falls sie noch nicht aktiviert sind.

Erforderliche Rollen zum Aktivieren von APIs

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

APIs aktivieren

Daten-Assets erstellen

Ihre Daten-Assets (z. B. BigQuery-Datasets, -Tabellen und -Ansichten) müssen erstellt und mit Daten gefüllt sein.

Weitere Informationen zum Erstellen von Daten-Assets finden Sie in den folgenden Dokumenten:

Identitäten konfigurieren

Identifizieren oder erstellen Sie die Google-Gruppen oder Dienstkonten, die Sie in Ihrem Datenprodukt konfigurieren möchten.

Optional: Looker (Google Cloud Core) für Datenprodukte konfigurieren

Wenn Sie Looker (Google Cloud Core)-Assets in Ihr Datenprodukt aufnehmen möchten, führen Sie die folgenden zusätzlichen Schritte aus:

  1. Achten Sie darauf, dass der Katalogeintrag für die Looker (Google Cloud Core)-Ressource bereits in Knowledge Catalog in derselben Region wie das Datenprodukt vorhanden ist. Weitere Informationen finden Sie unter Looker (Google Cloud Core)-Ressourcen mit Knowledge Catalog verwalten.
  2. Konfigurieren Sie Google OAuth und aktivieren Sie gespiegelte Gruppen in Ihrer Looker (Google Cloud Core)-Instanz, um eine schreibgeschützte Looker-Gruppe für Ihre Google-Gruppe zu erstellen.
  3. Weisen Sie der gespiegelten Looker-Gruppe Ordnerzugriffsebenen und Looker-Rollen zu.

Erforderliche Rollen

In diesem Abschnitt werden die IAM-Mindestrollen beschrieben, die für die folgenden Hauptabschnitte erforderlich sind:

  • Datenproduktinhaber: Nutzer, die Datenprodukte und die zugehörigen Assets erstellen, konfigurieren und verwalten

  • Datenproduktnutzer: Nutzer, die nach veröffentlichten Datenprodukten suchen, sie ansehen und Zugriff darauf anfordern

Erforderliche Rollen für Datenproduktinhaber

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Datenprodukten benötigen:

  • Vollständige Berechtigungen zum Erstellen, Aktualisieren, Löschen, Verwalten von Berechtigungen und Genehmigen oder Ablehnen von Zugriffsanfragen für Datenprodukte: Dataplex Data Products Admin (roles/dataplex.dataProductsAdmin)
  • Berechtigungen aktualisieren und verwalten sowie Zugriffsanfragen für Datenprodukte genehmigen oder ablehnen: Dataplex Data Products Editor (roles/dataplex.dataProductsEditor)
  • Metadatenaspekte hinzufügen (z. B. schema, overview, contacts und queries): Dataplex Entry and EntryLink Owner (roles/dataplex.entryOwner)
  • Assets suchen und hinzufügen: Dataplex Catalog Viewer (roles/dataplex.catalogViewer)
  • Systemaspekttypen bearbeiten (z. B. overview, contact, contract und queries): Dataplex Catalog Editor (roles/dataplex.catalogEditor)
  • Statistik-Datenscans für die automatisierte Dokumentation und Statistikgenerierung erstellen oder abrufen: Dataplex DataScan-Administrator (roles/dataplex.dataScanAdmin)
  • Zugriff auf Looker (Google Cloud Core)-Metadaten in Knowledge Catalog: Looker Schema Viewer (roles/looker.schemaViewer) – für das Projekt, in dem die Looker (Google Cloud Core)-Instanz gehostet wird
  • Gewähren Sie der Google-Gruppe der Zugriffsgruppe die Rolle roles/looker.instanceUser: Project IAM Admin (roles/resourcemanager.projectIamAdmin) – für das Projekt, in dem die Looker (Google Cloud Core)-Instanz gehostet wird

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen und Verwalten von Datenprodukten erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Datenprodukte zu erstellen und zu verwalten:

  • Datenprodukt erstellen: dataplex.dataProducts.create
  • Datenprodukte in einem Projekt auflisten: dataplex.dataProducts.list
  • Datenprodukt abrufen oder ansehen: dataplex.dataProducts.get
  • Vorhandenes Datenprodukt bearbeiten: dataplex.dataProducts.update
  • Datenprodukt löschen: dataplex.dataProducts.delete
  • Anfrage für den Zugriff auf das Datenprodukt genehmigen: dataplex.dataProducts.approve
  • So suchen Sie mit Knowledge Catalog nach einem Datenprodukt:
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • Anfrage für Zugriff auf Datenprodukt erstellen: dataplex.dataProducts.get
  • Daten-Asset erstellen: dataplex.dataAssets.create
  • Daten-Assets in einem Datenprodukt auflisten: dataplex.dataAssets.list
  • Daten-Asset abrufen: dataplex.dataAssets.get
  • Vorhandenes Daten-Asset bearbeiten: dataplex.dataAssets.update
  • Daten-Asset löschen: dataplex.dataAssets.delete
  • Datenscan erstellen: dataplex.datascans.create
  • Alle Datenscans auflisten: dataplex.datascans.list
  • Datenscan abrufen: dataplex.datascans.get
  • Datenscan ausführen: dataplex.datascans.run
  • Bearbeiten Sie den Systemaspekttyp overview: dataplex.entryGroups.useOverviewAspect
  • Bearbeiten Sie den Systemaspekttyp refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect
  • Bearbeiten Sie den Systemaspekttyp queries: dataplex.entryGroups.useQueriesAspect

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Erforderliche Rollen für Nutzer von Datenprodukten

Damit Datenproduktnutzer nach Datenprodukten suchen, sie ansehen und Zugriff darauf anfordern können, müssen Sie als Datenproduktinhaber dafür sorgen, dass das Datenprodukt auffindbar ist. Weisen Sie den Datenproduktnutzern dazu die folgenden IAM-Rollen für das Datenprodukt zu:

  • Datenprodukte suchen und Zugriff darauf anfordern: Dataplex Data Product Consumer (dataplex.dataProductsConsumer) und Dataplex Catalog Viewer (roles/dataplex.catalogViewer)
  • Lesezugriff zum Aufrufen von Datenproduktdefinitionen und ‑metadaten: Dataplex Data Product Viewer (dataplex.dataProductsViewer)

Datenprodukt erstellen und konfigurieren

Das Erstellen eines Datenprodukts umfasst die folgenden allgemeinen Aufgaben:

  1. Datenprodukt erstellen

    In diesem obligatorischen ersten Schritt müssen Sie wichtige Details wie einen eindeutigen Namen für das Datenprodukt, eine Beschreibung, die Region, in der das Datenprodukt erstellt wird, und Kontaktdaten angeben.

  2. Optional: Assets hinzufügen

    In dieser Phase wählen Sie Assets aus, die in das Datenprodukt aufgenommen werden sollen. Eine wichtige Einschränkung ist, dass sich Assets in derselben Region wie das Datenprodukt selbst befinden müssen. Sie können bis zu 10 Assets gleichzeitig hinzufügen, wobei maximal 50 Assets pro Datenprodukt zulässig sind.

    Eine Liste der unterstützten Assets finden Sie unter Unterstützte Assets.

  3. Optional: Zugriffsgruppen und Asset-Berechtigungen konfigurieren

    In dieser optionalen Phase vereinfachen Sie die Zugriffssteuerung, indem Sie Zugriffsgruppen erstellen. Diese Zugriffsgruppen fungieren als nutzerfreundliche Aliasse (z. B. Analyst oder Reader) für zugrunde liegende Google-Gruppen und Dienstkonten. Anschließend weisen Sie Berechtigungen zu, indem Sie eine bestimmte IAM-Rolle auswählen und sie einer Zugriffsgruppe für ein bestimmtes Asset zuordnen.

  4. Optional: Details zu Vertrag und Aspekt hinzufügen

    In dieser Phase verbessern Sie die Governance und die Auffindbarkeit von Daten, indem Sie Metadaten-Frameworks anhängen. Sie können einen Vertrag hinzufügen, um die Häufigkeit der Datenaktualisierung formell zu kommunizieren. Dabei können Sie Parameter wie Aktualisierungshäufigkeit, Zeitpunkt und Abweichungsschwellenwerte angeben. Sie können auch benutzerdefinierte Aspekte anhängen, um zusätzliche geschäftliche oder technische Metadaten für Ihr Datenprodukt bereitzustellen.

  5. Optional: Weitere Details hinzufügen

    In dieser letzten Phase fügen Sie RTF-Dokumentation hinzu, z. B. Onboarding-Leitfäden für Nutzer, Geschäftsdefinitionen und Beispielabfragen, damit Nutzer sofort nach der Genehmigung mit dem Datenprodukt interagieren können.

Führen Sie die Schritte in den folgenden Abschnitten aus, um ein Datenprodukt zu erstellen und zu konfigurieren:

Datenprodukt erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenprodukte im Knowledge Catalog auf.

    Zu „Datenprodukte“

  2. Klicken Sie auf Erstellen.

  3. Geben Sie im Bereich Datenprodukte erstellen die folgenden Details ein:

    • Name des Datenprodukts: Geben Sie einen eindeutigen Namen für Ihr Datenprodukt ein.
    • Datenprodukt-ID: Dies ist eine automatisch generierte eindeutige Kennung. Dieses Feld kann bearbeitet werden.
    • Projekt-ID: Dies ist eine eindeutige Kennung des Projekts, in dem das Datenprodukt erstellt wird. Suchen Sie das Projekt und wählen Sie es aus.
    • Region: Wählen Sie die Region oder Multiregion aus, in der das Datenprodukt erstellt wird.
    • Datenproduktsymbol: Suchen Sie ein Symbol, um das Datenprodukt visuell zu kennzeichnen. Dies ist optional.
    • Beschreibung: Geben Sie eine kurze Beschreibung des Datenprodukts ein.
    • Kontakte: Geben Sie die Kontaktdaten für Governance- und Genehmigungsworkflows an:

      • E‑Mail-Adresse des/der Datenproduktinhaber(s): Geben Sie die E‑Mail-Adresse der Datenproduktinhaber ein.
      • E‑Mail-Adresse des bzw. der Datenproduktgenehmiger(s): Geben Sie die E‑Mail-Adresse der designierten Genehmiger ein, die für die Genehmigung von Zugriffsanfragen oder Änderungen verantwortlich sind.
    • Labels: Fügen Sie Schlüssel/Wert-Labels hinzu, um Ihre Ressourcen zu organisieren. Dies ist optional.

  4. Klicken Sie auf Datenprodukt erstellen.

Terraform

Verwenden Sie zum Erstellen eines Datenprodukts die Ressourcen google_dataplex_data_product und IAM.

resource "google_dataplex_data_product" "default" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  display_name    = "DISPLAY_NAME"
  description     = "DESCRIPTION"
  owner_emails    = ["EMAIL_IDs"]

  # Optional: Configures designated approvers for access requests
  access_approval_config {
    approver_emails = ["APPROVER_EMAIL_IDs"]
  }

  # Optional: Base64-encoded icon (Max 3.0MiB)
  icon = "ICON_BASE64_STRING"
}

resource "google_dataplex_data_product_iam_member" "consumer_binding" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  role            = "roles/dataplex.dataProductsConsumer"
  member          = "MEMBER"
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • LOCATION: die Region, in der Sie das Datenprodukt erstellen möchten.
  • DATA_PRODUCT_ID: eine eindeutige ID für Ihr Datenprodukt.
  • DISPLAY_NAME: ein nutzerfreundlicher Name für Ihr Datenprodukt.
  • DESCRIPTION: eine kurze Beschreibung des Datenprodukts.
  • EMAIL_IDs: kommagetrennte E-Mail-Adressen der Datenproduktinhaber, z. B. ["user1@example.com", "user2@example.com"].
  • APPROVER_EMAIL_IDs: kommagetrennte E-Mail-Adressen der designierten Genehmiger, die für die Genehmigung von Zugriffsanfragen oder Änderungen für dieses Datenprodukt verantwortlich sind.
  • ICON_BASE64_STRING: Die base64-codierten Rohbilddaten, die das Datenprodukt darstellen. Die maximale Größe beträgt 3,0 MiB. Geben Sie nicht das Präfix des Daten-URL-Schemas an.
  • MEMBER: der Nutzer, das Dienstkonto oder die Gruppe, die die Nutzerrolle erhält (z. B. group:all-analysts@example.com).

C#

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog C#.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for CreateDataProduct</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataProductRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        CreateDataProductRequest request = new CreateDataProductRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataProductId = "",
            DataProduct = new DataProduct(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataProduct, OperationMetadata> response = dataProductServiceClient.CreateDataProduct(request);

        // Poll until the returned long-running operation is complete
        Operation<DataProduct, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataProduct result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataProduct, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceCreateDataProduct(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataProduct retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Go.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataProductRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataProductRequest.
	}
	op, err := c.CreateDataProduct(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Java.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.cloud.dataplex.v1.CreateDataProductRequest;
import com.google.cloud.dataplex.v1.DataProduct;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.LocationName;

public class SyncCreateDataProduct {

  public static void main(String[] args) throws Exception {
    syncCreateDataProduct();
  }

  public static void syncCreateDataProduct() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      CreateDataProductRequest request =
          CreateDataProductRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setDataProductId("dataProductId1437828576")
              .setDataProduct(DataProduct.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataProduct response = dataProductServiceClient.createDataProductAsync(request).get();
    }
  }
}

Node.js

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Node.js.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent resource where this data product will be created.
 *  Format: projects/{project_id_or_number}/locations/{location_id}
 */
// const parent = 'abc123'
/**
 *  Optional. The ID of the data product to create.
 *  The ID must conform to RFC-1034 and contain only lower-case letters (a-z),
 *  numbers (0-9), or hyphens, with the first character a letter, the last a
 *  letter or a number, and a 63 character maximum. Characters outside of
 *  ASCII are not permitted.
 *  Valid format regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`
 *  If not provided, a system generated ID will be used.
 */
// const dataProductId = 'abc123'
/**
 *  Required. The data product to create.
 */
// const dataProduct = {}
/**
 *  Optional. Validates the request without actually creating the data product.
 *  Default: false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callCreateDataProduct() {
  // Construct request
  const request = {
    parent,
    dataProduct,
  };

  // Run request
  const [operation] = await dataplexClient.createDataProduct(request);
  const [response] = await operation.promise();
  console.log(response);
}

callCreateDataProduct();

Python

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Python.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_data_product():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_product = dataplex_v1.DataProduct()
    data_product.display_name = "display_name_value"
    data_product.owner_emails = ["owner_emails_value1", "owner_emails_value2"]

    request = dataplex_v1.CreateDataProductRequest(
        parent="parent_value",
        data_product=data_product,
    )

    # Make the request
    operation = client.create_data_product(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

Verwenden Sie zum Erstellen eines Datenprodukts die Methode dataProducts.create.

Senden Sie beispielsweise die folgende POST-Anfrage:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID

Ersetzen Sie Folgendes:

  • DISPLAY_NAME: ein nutzerfreundlicher Name für Ihr Datenprodukt
  • EMAIL_IDs: kommagetrennte E‑Mail-Adressen der Datenproduktinhaber
  • APPROVER_EMAIL_IDs: Kommagetrennte E-Mail-Adressen der designierten Genehmiger, die für die Genehmigung von Zugriffsanfragen oder ‑änderungen verantwortlich sind.
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud
  • LOCATION: die Region, in der Sie das Datenprodukt erstellen möchten
  • DATA_PRODUCT_ID: Eine eindeutige ID für Ihr Datenprodukt

Optional: Assets hinzufügen

Sie können Ihrem Datenprodukt verschiedene Daten-Assets wie BigQuery-Tabellen, -Ansichten, -Datasets und -Modelle hinzufügen. Eine Liste der unterstützten Assets finden Sie unter Unterstützte Assets.

Console

  1. Klicken Sie im Bereich Assets hinzufügen auf + Hinzufügen.

  2. Suchen Sie nach den Assets, die Sie Ihrem Datenprodukt hinzufügen möchten, und wählen Sie sie aus. Die ausgewählten Assets müssen sich in derselben Region wie das Datenprodukt befinden.

    Wenn Sie die erforderlichen Berechtigungen haben, können Sie die Metadaten von Assets aufrufen, indem Sie auf das Asset klicken.

  3. Verwenden Sie Filter, um die Suchergebnisse einzugrenzen.

  4. Nachdem Sie die Assets ausgewählt haben, klicken Sie auf Hinzufügen.

  5. Klicken Sie auf Weiter.

Terraform

Verwenden Sie die Ressource google_dataplex_data_product_data_asset, um Ihrem Datenprodukt ein Daten-Asset hinzuzufügen.

resource "google_dataplex_data_product_data_asset" "example_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud -Projekts
  • LOCATION: die Region, in der sich das Datenprodukt befindet
  • DATA_PRODUCT_ID: die ID des Datenprodukts
  • DATA_ASSET_ID: eine eindeutige ID für dieses Daten-Asset innerhalb des Datenprodukts
  • RESOURCE_NAME: der vollständige Ressourcenname des Daten-Assets (z. B. //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

C#

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog C#.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for CreateDataAsset</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateDataAssetRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        CreateDataAssetRequest request = new CreateDataAssetRequest
        {
            ParentAsDataProductName = DataProductName.FromProjectLocationDataProduct("[PROJECT]", "[LOCATION]", "[DATA_PRODUCT]"),
            DataAssetId = "",
            DataAsset = new DataAsset(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataAsset, OperationMetadata> response = dataProductServiceClient.CreateDataAsset(request);

        // Poll until the returned long-running operation is complete
        Operation<DataAsset, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataAsset result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataAsset, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceCreateDataAsset(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataAsset retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Go.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataAssetRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataAssetRequest.
	}
	op, err := c.CreateDataAsset(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Java.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.cloud.dataplex.v1.CreateDataAssetRequest;
import com.google.cloud.dataplex.v1.DataAsset;
import com.google.cloud.dataplex.v1.DataProductName;
import com.google.cloud.dataplex.v1.DataProductServiceClient;

public class SyncCreateDataAsset {

  public static void main(String[] args) throws Exception {
    syncCreateDataAsset();
  }

  public static void syncCreateDataAsset() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      CreateDataAssetRequest request =
          CreateDataAssetRequest.newBuilder()
              .setParent(DataProductName.of("[PROJECT]", "[LOCATION]", "[DATA_PRODUCT]").toString())
              .setDataAssetId("dataAssetId2108984609")
              .setDataAsset(DataAsset.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataAsset response = dataProductServiceClient.createDataAssetAsync(request).get();
    }
  }
}

Node.js

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Node.js.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent resource where this data asset will be created.
 *  Format:
 *  projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}
 */
// const parent = 'abc123'
/**
 *  Optional. The ID of the data asset to create.
 *  The ID must conform to RFC-1034 and contain only lower-case letters (a-z),
 *  numbers (0-9), or hyphens, with the first character a letter, the last a
 *  letter or a number, and a 63 character maximum. Characters outside of
 *  ASCII are not permitted.
 *  Valid format regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`
 *  If not provided, a system generated ID will be used.
 */
// const dataAssetId = 'abc123'
/**
 *  Required. The data asset to create.
 */
// const dataAsset = {}
/**
 *  Optional. Validates the request without actually creating the data asset.
 *  Defaults to false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callCreateDataAsset() {
  // Construct request
  const request = {
    parent,
    dataAsset,
  };

  // Run request
  const [operation] = await dataplexClient.createDataAsset(request);
  const [response] = await operation.promise();
  console.log(response);
}

callCreateDataAsset();

Python

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Python.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_data_asset():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_asset = dataplex_v1.DataAsset()
    data_asset.resource = "resource_value"

    request = dataplex_v1.CreateDataAssetRequest(
        parent="parent_value",
        data_asset=data_asset,
    )

    # Make the request
    operation = client.create_data_asset(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

Verwenden Sie die Methode dataAssets.create, um Ihrem Datenprodukt ein Daten-Asset hinzuzufügen.

Senden Sie beispielsweise die folgende POST-Anfrage:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID

Ersetzen Sie Folgendes:

  • RESOURCE_NAME: der vollständige Ressourcenname des Daten-Assets (z. B. //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
  • PROJECT_ID: die ID Ihres Google Cloud -Projekts
  • LOCATION: die Region, in der sich das Datenprodukt befindet
  • DATA_PRODUCT_ID: die ID des Datenprodukts
  • DATA_ASSET_ID: eine eindeutige ID für dieses Daten-Asset innerhalb des Datenprodukts

Optional: Zugriffsgruppen und Asset-Berechtigungen konfigurieren

Im Bereich Zugriffsgruppen und Asset-Berechtigungen konfigurieren können Sie Zugriffsgruppen erstellen und Assets Berechtigungen zuweisen.

Zugriffsgruppen konfigurieren

Console

  1. Klicken Sie auf Zugriffsgruppe hinzufügen.

  2. Geben Sie im Feld Name der Zugriffsgruppe einen Namen für die Zugriffsgruppe ein. Beispiel: Analyst.

  3. Geben Sie im Feld Beschreibung der Zugriffsgruppe eine Beschreibung für die Zugriffsgruppe ein.

  4. Geben Sie im Feld Kennung der Zugriffsgruppe die E‑Mail-Adresse einer Google-Gruppe ein, die Sie dieser Zugriffsgruppe zuweisen möchten.

    Datenproduktnutzer, die Zugriff für sich selbst anfordern, werden als Mitglieder der zugeordneten Google-Gruppe hinzugefügt.

    Weitere Informationen zum Erstellen von Google Groups finden Sie unter Google Groups in der Google Cloud Console erstellen und verwalten.

  5. Geben Sie im Feld Dienstkonto der Zugriffsgruppe die E-Mail-Adresse eines Dienstkontos ein, das Sie dieser Zugriffsgruppe zuweisen möchten.

    Datenproduktnutzern, die Zugriff für ihre Dienstkonten anfordern, wird die IAM-Rolle „Dienstkonto-Token-Ersteller“ (roles/iam.serviceAccountTokenCreator) gewährt, um die Identität des Dienstkontos des Datenproduzenten zu übernehmen, das der Zugriffsgruppe zugeordnet ist.

    Weitere Informationen zum Erstellen von Dienstkonten finden Sie unter Dienstkonten erstellen.

  6. Optional: Wählen Sie im Feld Standardrolle eine IAM-Standardrolle (z. B. BigQuery Data Viewer) für diese Zugriffsgruppe aus. Diese Rolle wird automatisch für alle vorhandenen und neu hinzugefügten unterstützten Assets im Datenprodukt gewährt, sofern Sie sie nicht auf Asset-Ebene überschreiben.

  7. Klicken Sie auf Fertig.

  8. Wenn Sie eine weitere Zugriffsgruppe hinzufügen möchten, klicken Sie auf Zugriffsgruppe hinzufügen und wiederholen Sie die Schritte.

    Sie können pro Datenprodukt maximal drei Zugriffsgruppen hinzufügen.

  9. Klicken Sie auf Speichern.

Terraform

Wenn Sie Zugriffsgruppen für Ihr Datenprodukt definieren möchten, verwenden Sie den verschachtelten Block access_groups in der Ressource google_dataplex_data_product.

Verwenden Sie zum Beispiel die folgende Konfiguration:

resource "google_dataplex_data_product" "example_data_product" {
  project         = "PROJECT_ID"
  location        = "LOCATION"
  data_product_id = "DATA_PRODUCT_ID"
  display_name    = "DISPLAY_NAME"
  owner_emails    = ["EMAIL_IDs"]

  access_groups {
    id           = "analyst" # Internal identifier for configuration
    group_id     = "analyst" # Unique identifier of the access group, should be same as the 'id'
    display_name = "Business Analyst"
    description  = "Access group for regional analysts"
    principal {
      google_group = "analyst-team@example.com"
    }
  }

# Service account principal
  access_groups {
    id           = "scientist"
    group_id     = "scientist"
    display_name = "Data Scientist"
    principal {
      service_account = "SERVICE_ACCOUNT_EMAIL_ADDRESS"
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud -Projekts
  • LOCATION: die Region, in der das Datenprodukt vorhanden ist
  • DATA_PRODUCT_ID: eine eindeutige ID für das Datenprodukt
  • DISPLAY_NAME: ein nutzerfreundlicher Name für Ihr Datenprodukt
  • EMAIL_IDs: kommagetrennte E-Mail-Adressen der Datenproduktinhaber, z. B. ["user1@example.com", "user2@example.com"]
  • SERVICE_ACCOUNT_EMAIL_ADDRESS: die E-Mail-Adresse des Dienstkontos.

C#

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog C#.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataProduct</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataProductRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataProductRequest request = new UpdateDataProductRequest
        {
            DataProduct = new DataProduct(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataProduct, OperationMetadata> response = dataProductServiceClient.UpdateDataProduct(request);

        // Poll until the returned long-running operation is complete
        Operation<DataProduct, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataProduct result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataProduct, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceUpdateDataProduct(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataProduct retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Go.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataProductRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataProductRequest.
	}
	op, err := c.UpdateDataProduct(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Java.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.cloud.dataplex.v1.DataProduct;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataProductRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataProduct {

  public static void main(String[] args) throws Exception {
    syncUpdateDataProduct();
  }

  public static void syncUpdateDataProduct() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      UpdateDataProductRequest request =
          UpdateDataProductRequest.newBuilder()
              .setDataProduct(DataProduct.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataProduct response = dataProductServiceClient.updateDataProductAsync(request).get();
    }
  }
}

Node.js

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Node.js.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The data product to update.
 *  The data product's `name` field is used to identify the data product to
 *  update.
 */
// const dataProduct = {}
/**
 *  Optional. The list of fields to update.
 *  If this is empty or not set, then all the fields will be updated.
 */
// const updateMask = {}
/**
 *  Optional. Validates the request without actually updating the data product.
 *  Default: false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callUpdateDataProduct() {
  // Construct request
  const request = {
    dataProduct,
  };

  // Run request
  const [operation] = await dataplexClient.updateDataProduct(request);
  const [response] = await operation.promise();
  console.log(response);
}

callUpdateDataProduct();

Python

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Python.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_product():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_product = dataplex_v1.DataProduct()
    data_product.display_name = "display_name_value"
    data_product.owner_emails = ["owner_emails_value1", "owner_emails_value2"]

    request = dataplex_v1.UpdateDataProductRequest(
        data_product=data_product,
    )

    # Make the request
    operation = client.update_data_product(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

Verwenden Sie die Methode dataProducts.patch, um eine Zugriffsgruppe für das Datenprodukt zu konfigurieren.

Senden Sie beispielsweise die folgende PATCH-Anfrage:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"

Ersetzen Sie Folgendes:

  • ACCESS_GROUPS_MAP: Ein JSON-Objekt, das eine Zuordnung darstellt, bei der jeder Schlüssel eine Zugriffsgruppen-ID und der Wert ein AccessGroup-Objekt ist. Beispiel:

    {
    "analyst": {
      "id": "analyst",
      "display_name": "Analyst access group",
      "description": "Access group for analysts",
      "principal":
        {
          "google_group": "analyst-team@example.com",
          "service_account": "analyst-svc@gserviceaccount.com"
        },
      "default_iam_role_config":
        {
          "role": "roles/bigquery.dataViewer"
        }
    }
    }
    
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud

  • LOCATION: die Region, in der sich das Datenprodukt befindet

  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts

Asset-Berechtigungen konfigurieren

Nachdem Sie Zugriffsgruppen konfiguriert haben, können Sie Berechtigungen für die Assets im Datenprodukt konfigurieren.

Wenn Sie eine IAM-Standardrolle für eine Zugriffsgruppe konfiguriert haben, übernehmen unterstützte Assets diese Rolle automatisch. Dies wird durch das Label Standard in der Spalte Berechtigungen angezeigt. Sie können die Standardrolle für bestimmte Assets überschreiben, indem Sie eine andere Rolle zuweisen.

Console

  1. Wählen Sie im Abschnitt Asset-Berechtigungen das Asset aus, für das Sie Berechtigungen konfigurieren möchten. Sie können Berechtigungen für bis zu 10 Assets gleichzeitig auswählen und konfigurieren.

  2. Klicken Sie auf Berechtigungen konfigurieren.

  3. Wählen Sie im Feld Zugriffsgruppe auswählen eine Zugriffsgruppe aus.

  4. Wählen Sie im Feld IAM-Rolle zuweisen eine IAM-Rolle aus, die Sie der Zugriffsgruppe zuweisen möchten.

    Wenn Ihr Asset beispielsweise eine BigQuery-Tabelle mit dem Namen Sales ist und Sie die Zugriffsgruppe Analyst ausgewählt und dieser Zugriffsgruppe die Rolle BigQuery Metadata Viewer zugewiesen haben, haben die Datenproduktnutzer, die zur Zugriffsgruppe Analyst gehören, die Berechtigung BigQuery Metadata Viewer für die Tabelle Sales.

    Sie können einem Asset mehrere Rollen hinzufügen.

  5. Klicken Sie auf Konfigurieren. In der Spalte Berechtigungen der Asset-Tabelle werden die zugewiesenen Berechtigungen und ihr Konfigurationsstatus für jede Zugriffsgruppe angezeigt:

    • Angewendet: Die IAM-Rolle (entweder von der Standardrolle der Zugriffsgruppe übernommen oder speziell für das Asset konfiguriert) ist für die zugrunde liegende Ressource aktiv.
    • Fehlgeschlagen: Die IAM-Rolle konnte nicht auf die zugrunde liegende Ressource angewendet werden. Den genauen Grund für den Fehler finden Sie in Cloud Logging.
    • Nicht unterstützt: Das Anwenden von Berechtigungen wird für den Ressourcentyp dieses Assets nicht unterstützt.
  6. Wenn Sie Berechtigungen für andere Assets konfigurieren möchten, wiederholen Sie die Schritte.

  7. Klicken Sie auf Weiter.

Terraform

Weisen Sie Ihren Zugriffsgruppen für bestimmte Assets IAM-Rollen zu. Verwenden Sie dazu den Block access_group_configs in der Ressource google_dataplex_data_product_data_asset.

Verwenden Sie zum Beispiel die folgende Konfiguration:

resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

access_group_configs {
  access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
  iam_roles    = ["roles/bigquery.dataViewer"]
}
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud -Projekts
  • LOCATION: die Region, in der sich das Datenprodukt befindet
  • DATA_PRODUCT_ID: die ID des Datenprodukts
  • DATA_ASSET_ID: eine eindeutige ID für dieses Daten-Asset innerhalb des Datenprodukts
  • RESOURCE_NAME: der vollständige Ressourcenname des Daten-Assets (z. B. //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

C#

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog C#.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

using Google.Cloud.Dataplex.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedDataProductServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataAsset</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void UpdateDataAssetRequestObject()
    {
        // Create client
        DataProductServiceClient dataProductServiceClient = DataProductServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataAssetRequest request = new UpdateDataAssetRequest
        {
            DataAsset = new DataAsset(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataAsset, OperationMetadata> response = dataProductServiceClient.UpdateDataAsset(request);

        // Poll until the returned long-running operation is complete
        Operation<DataAsset, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataAsset result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<DataAsset, OperationMetadata> retrievedResponse = dataProductServiceClient.PollOnceUpdateDataAsset(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataAsset retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Go.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewDataProductClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.UpdateDataAssetRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataAssetRequest.
	}
	op, err := c.UpdateDataAsset(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Java.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import com.google.cloud.dataplex.v1.DataAsset;
import com.google.cloud.dataplex.v1.DataProductServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataAssetRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataAsset {

  public static void main(String[] args) throws Exception {
    syncUpdateDataAsset();
  }

  public static void syncUpdateDataAsset() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (DataProductServiceClient dataProductServiceClient = DataProductServiceClient.create()) {
      UpdateDataAssetRequest request =
          UpdateDataAssetRequest.newBuilder()
              .setDataAsset(DataAsset.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataAsset response = dataProductServiceClient.updateDataAssetAsync(request).get();
    }
  }
}

Node.js

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Node.js.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The data asset to update.
 *  The data asset's `name` field is used to identify the data asset to update.
 */
// const dataAsset = {}
/**
 *  Optional. The list of fields to update.
 *  If this is empty or not set, then all the fields will be updated.
 */
// const updateMask = {}
/**
 *  Optional. Validates the request without actually updating the data asset.
 *  Defaults to false.
 */
// const validateOnly = true

// Imports the Dataplex library
const {DataProductServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new DataProductServiceClient();

async function callUpdateDataAsset() {
  // Construct request
  const request = {
    dataAsset,
  };

  // Run request
  const [operation] = await dataplexClient.updateDataAsset(request);
  const [response] = await operation.promise();
  console.log(response);
}

callUpdateDataAsset();

Python

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Knowledge Catalog-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation für Knowledge Catalog Python.

Richten Sie zur Authentifizierung bei Knowledge Catalog Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_update_data_asset():
    # Create a client
    client = dataplex_v1.DataProductServiceClient()

    # Initialize request argument(s)
    data_asset = dataplex_v1.DataAsset()
    data_asset.resource = "resource_value"

    request = dataplex_v1.UpdateDataAssetRequest(
        data_asset=data_asset,
    )

    # Make the request
    operation = client.update_data_asset(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

REST

Verwenden Sie die Methode dataAssets.patch, um Berechtigungen für die Assets im Datenprodukt zu konfigurieren.

Senden Sie beispielsweise die folgende PATCH-Anfrage:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"

Ersetzen Sie Folgendes:

  • ACCESS_GROUP_CONFIGS_MAP: Ein JSON-Objekt, das eine Zuordnung darstellt, bei der jeder Schlüssel eine Zugriffsgruppen-ID und der Wert ein AccessGroupConfig-Objekt ist. Beispiel:

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud

  • LOCATION: die Region, in der sich das Datenprodukt befindet

  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts

  • DATA_ASSET_ID: die ID des Assets, für das Sie Berechtigungen konfigurieren möchten

Optional: Details zu Vertrag und Aspekt hinzufügen

Sie können einem Datenprodukt Verträge und Aspekte hinzufügen.

Vertrag hinzufügen

Um eine Vertrauensbasis zwischen Datenerstellern und ‑nutzern zu schaffen, können Sie Ihrem Datenprodukt einen Vertrag hinzufügen. Durch die Angabe von Parametern wie Aktualisierungszeit und Schwellenwerten stellen Sie Nutzern den erforderlichen Kontext bereit, damit sie wissen, wann die Daten aktualisiert werden und ob sie ihren spezifischen Geschäftsanforderungen entsprechen.

Console

  1. Klicken Sie im Bereich Details zu Vertrag und Aspekt hinzufügen auf Vertrag hinzufügen.

  2. Wählen Sie im Feld Vertrag auswählen die Option Refresh cadence aus.

  3. Wählen Sie im Feld Häufigkeit einen vereinbarten Zeitplan dafür aus, wie oft Daten aktualisiert oder bereitgestellt werden, um einen vorhersehbaren Ablauf vom Datenersteller zum Datennutzer zu gewährleisten. Beispiel: Weekly.

  4. Geben Sie im Feld Aktualisierungszeit die maximal zulässige Zeit ein, die zwischen der Aktualisierung der Daten an der Quelle und der Verfügbarkeit für den Nutzer vergehen darf. Beispiel: 23:00 PST.

  5. Geben Sie im Feld Grenzwert (in Minuten) ein messbares Limit in Minuten für die akzeptable Verzögerung bei der Datenbereitstellung ein. Geben Sie beispielsweise 30 ein, um einen Grenzwert von 30 Minuten festzulegen.

  6. Optional: Geben Sie im Feld Cron-Zeitplan einen Cron-Ausdruck ein, der den Zeitplan für die Datengenerierung und -bereitstellung im Format MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK definiert.

    Folgende Werte werden akzeptiert:

    • MINUTE: 0–59
    • HOUR: 0–23
    • DAY_OF_MONTH: 1–31
    • MONTH: 1-31 oder JAN-DEC
    • DAY_OF_WEEK: 0-6 oder SUN-SAT

    0 8 * * 1-5 wird beispielsweise an Wochentagen (Montag bis Freitag) um 8:00 Uhr ausgeführt.

  7. Klicken Sie auf Speichern.

REST

Verträge werden als Aspekte des Datenprodukts modelliert. Wenn Sie einen Refresh Cadence-Vertrag für ein Datenprodukt hinzufügen möchten, verwenden Sie die Methode entries.patch.

Senden Sie beispielsweise die folgende PATCH-Anfrage:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.refresh-cadence": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
      "data": {
        "frequency": "REFRESH_FREQUENCY"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Ersetzen Sie Folgendes:

  • REFRESH_FREQUENCY: der vereinbarte Zeitplan für die Häufigkeit, mit der Daten aktualisiert oder bereitgestellt werden, um einen vorhersehbaren Fluss vom Datenersteller zum Datennutzer zu gewährleisten. Beispiel: Weekly
  • PROJECT_ID: die ID Ihres Google Cloud -Projekts, in dem der API-Aufruf erfolgt
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • DATA_PRODUCT_LOCATION: der Standort der Datenproduktressource
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts

Terraform

Verträge werden als Aspekte des Datenprodukts modelliert. Wenn Sie einen Vertrag verwalten möchten, müssen Sie den zugrunde liegenden Knowledge Catalog-Eintrag verwalten. Da Terraform vorhandene Aspekte nicht automatisch erkennt, müssen Sie zuerst den google_dataplex_entry importieren.

Verwenden Sie den folgenden Befehl, um den Eintrag zu importieren:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform-Konfiguration:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.refresh-cadence"
  aspect {
    data = jsonencode({
      frequency = "REFRESH_FREQUENCY"
    })
  }
}
}

Ersetzen Sie Folgendes:

  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts
  • REFRESH_FREQUENCY: der vereinbarte Zeitplan für die Häufigkeit, mit der Daten aktualisiert oder bereitgestellt werden, um einen vorhersehbaren Fluss vom Datenersteller zum Datennutzer zu gewährleisten. Beispiel: Weekly

Allgemeine Informationen zum Importvorgang finden Sie in der Terraform-Importdokumentation.

Aspekte hinzufügen

Verwenden Sie Aspekte, um Ihr Datenprodukt mit strukturierten, wiederverwendbaren Metadaten anzureichern. Diese Vorlagen bieten Datenproduzenten eine standardisierte Möglichkeit, die Qualität und Eignung eines Datenprodukts zu kommunizieren. Dadurch wird die Governance verbessert und Nutzer können leichter feststellen, ob das Produkt ihren Geschäftsanforderungen entspricht.

So fügen Sie Aspekte für das Datenprodukt hinzu:

Console

  1. Klicken Sie im Bereich Details zu Vertrag und Aspekt hinzufügen auf + Aspekt hinzufügen.

  2. Suchen Sie im Feld Aspekttyp auswählen nach einem Aspekttyp und wählen Sie ihn aus der Liste aus. Beispiel: Geo context.

  3. Klicken Sie auf Speichern.

REST

Verwenden Sie die Methode entries.patch, um Aspekte für ein Datenprodukt hinzuzufügen.

Senden Sie beispielsweise die folgende PATCH-Anfrage:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
      "aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
      "data": {}
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Ersetzen Sie Folgendes:

  • ASPECT_PROJECT_ID: die ID Ihres Google Cloud-Projekts, in dem der Aspekt erstellt wird
  • ASPECT_LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, in der der Aspekt erstellt wird (z. B. us-central1)
  • ASPECT_NAME: der Name des Aspekts, den Sie an das Datenprodukt anhängen möchten
  • PROJECT_ID: die ID Ihres Google Cloud -Projekts, in dem der API-Aufruf erfolgt
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • DATA_PRODUCT_LOCATION: der Standort der Datenproduktressource
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts

Terraform

Wenn Sie Aspekte verwalten möchten, müssen Sie den zugrunde liegenden Knowledge Catalog-Eintrag verwalten. Da Terraform vorhandene Aspekte nicht automatisch erkennt, müssen Sie zuerst die google_dataplex_entry importieren.

Verwenden Sie den folgenden Befehl, um den Eintrag zu importieren:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform-Konfiguration:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
  aspect {
    data = {}
  }
}
}

Ersetzen Sie Folgendes:

  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts
  • ASPECT_PROJECT_NUMBER: die Google Cloud Projektnummer, in der der Aspekt erstellt wird
  • ASPECT_LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, in der der Aspekt erstellt wird (z. B. us-central1)
  • ASPECT_NAME: der Name des Aspekts, den Sie an das Datenprodukt anhängen möchten

Allgemeine Informationen zum Importvorgang finden Sie in der Terraform-Importdokumentation.

Optional: Weitere Details hinzufügen

Sie können Ihrem Datenprodukt Dokumentation und Beispielabfragen hinzufügen, um wichtige Kontextinformationen, Beschreibungen der Geschäftslogik und Nutzerhandbücher bereitzustellen. In Knowledge Catalog wird die Dokumentation über den Systemaspekt overview verwaltet.

Sie können diese Dokumentation manuell erstellen oder Knowledge Catalog-Dateneinblicke verwenden, um sie automatisch zu generieren.

Dokumentation und Beispielabfragen manuell hinzufügen

Console

So fügen Sie Ihrem Datenprodukt eine Dokumentation hinzu:

  1. Klicken Sie im Bereich Zusätzliche Details hinzufügen neben Dokumentation auf Bearbeiten.

  2. Geben Sie den Inhalt in den Rich-Text-Editor ein.

  3. Klicken Sie auf Speichern.

So fügen Sie Beispielabfragen für Ihr Datenprodukt hinzu:

  1. Klicken Sie im Bereich Zusätzliche Details hinzufügen im Abschnitt Abfrageempfehlung auf Abfragen hinzufügen.

  2. Geben Sie die Beispielabfragen ein.

  3. Klicken Sie auf Speichern.

Das neu erstellte Datenprodukt wird auf der Knowledge Catalog-Seite Datenprodukte angezeigt.

REST

Die Dokumentation wird als Aspekte für das Datenprodukt modelliert. Verwenden Sie die Methode entries.patch, um Dokumentation hinzuzufügen.

Senden Sie beispielsweise die folgende PATCH-Anfrage:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.overview": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
      "data": {
        "content": "DOCUMENTATION"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud -Projekts, in dem der API-Aufruf erfolgt
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • DATA_PRODUCT_LOCATION: der Standort der Datenproduktressource
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts
  • DOCUMENTATION: der Inhalt, den Sie an das Datenprodukt anhängen möchten

Terraform

Die Dokumentation wird als Aspekte für das Datenprodukt modelliert. Wenn Sie die Dokumentation verwalten möchten, müssen Sie den zugrunde liegenden Knowledge Catalog-Eintrag verwalten. Da Terraform vorhandene Aspekte nicht automatisch erkennt, müssen Sie zuerst den google_dataplex_entry importieren.

Verwenden Sie den folgenden Befehl, um den Eintrag zu importieren:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Terraform-Konfiguration:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.overview"
  aspect {
    data = jsonencode({
      content = "DOCUMENTATION"
    })
  }
}
}

Ersetzen Sie Folgendes:

  • DATA_PRODUCT_PROJECT_NUMBER: die Projektnummer, in der sich die Datenproduktressource befindet
  • LOCATION: die Region des Knowledge Catalog-Dienstendpunkts, den Sie aufrufen (z. B. us-central1)
  • DATA_PRODUCT_ID: die ID Ihres Datenprodukts
  • DOCUMENTATION: der Inhalt, den Sie an das Datenprodukt anhängen möchten

Allgemeine Informationen zum Importvorgang finden Sie in der Terraform-Importdokumentation.

Automatisierte Dokumentation und Beispielabfragen mithilfe von Dateneinblicken generieren

Bevor Sie mit Gemini Dokumentation und Beispielabfragen generieren, müssen Sie die folgenden Voraussetzungen erfüllen:

  1. Aktivieren Sie die Gemini for Google Cloud API in dem Projekt, in dem Sie das Datenprodukt erstellen.

  2. Statistikspezifische Nutzerrollen zuweisen: Bitten Sie Ihren Administrator, Ihrer Identität die folgenden Rollen und Berechtigungen für das Datenproduktprojekt zuzuweisen:

    • Datenerkenntnisse generieren und verwalten: Dataplex DataScan-Bearbeiter (roles/dataplex.dataScanEditor) oder Dataplex DataScan-Administrator (roles/dataplex.dataScanAdmin) für das Projekt, in dem sich das Datenprodukt befindet
    • Generierte Statistiken ansehen: Dataplex DataScan DataViewer (roles/dataplex.dataScanDataViewer) für das Projekt, in dem sich das Datenprodukt befindet
  3. Projektübergreifende Dienst-Agent-Berechtigungen konfigurieren Wenn sich Ihre zugrunde liegenden Daten-Assets in einem anderen Projekt von Google Cloud befinden als Ihr Datenproduktprojekt, müssen Sie dem Knowledge Catalog-Dienst-Agent (P4SA) Zugriff auf diese Assets gewähren:

    1. Führen Sie den folgenden Google Cloud CLI-Befehl aus, um die Dienst-Agent-ID für Ihr Datenproduktprojekt zu generieren oder abzurufen:

      gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID
      

      Ersetzen Sie DATA_PRODUCT_PROJECT_ID durch die Projekt-ID vonGoogle Cloud , in der sich Ihr Datenprodukt befindet.

    2. Weisen Sie dem Dienst-Agenten des Datenproduktprojekts in jedem externen Projekt, in dem sich Ihre Assets befinden, die folgenden Rollen zu:

      • BigQuery-Dateneditor (roles/bigquery.dataEditor) für die zugrunde liegenden Tabellen und Datasets

      • BigQuery Studio-Administrator (roles/bigquery.studioAdmin) für das Asset-Projekt

So generieren Sie mithilfe von Dateneinblicken Dokumentation und Beispielabfragen für Ihr Datenprodukt:

  1. Klicken Sie im Bereich Zusätzliche Details hinzufügen in der Leiste Statistiken mit Gemini generieren auf Generieren.

    Warten Sie einige Minuten, bis die Statistikgenerierung abgeschlossen ist.

  2. Klicken Sie auf Ansehen, um sich die generierten Inhalte anzusehen.

  3. Bewerten Sie die generierten Inhalte:

    • Wenn der Inhalt korrekt ist, klicken Sie auf Speichern. Dadurch wird der RTF-Editor mit einer vordefinierten Dokumentationsvorlage gefüllt und dem Abschnitt Insights werden Beispielabfragen hinzugefügt.

    • Wenn der Inhalt nicht den Erwartungen entspricht, klicken Sie auf Verwerfen.

  4. Klicken Sie abschließend auf Speichern.

Nächste Schritte