Membuat produk data

Dokumen ini ditujukan bagi pemilik produk data yang ingin membuat dan mengonfigurasi produk data di Knowledge Catalog (sebelumnya Dataplex Universal Catalog).

Untuk mengetahui informasi selengkapnya tentang arsitektur dan konsep utama produk data, lihat Tentang produk data.

Sebelum memulai

Sebelum Anda membuat produk data, selesaikan prasyarat berikut.

Mengaktifkan Gemini

Mengonfigurasi Gemini di aset data Anda adalah langkah opsional, tetapi sangat direkomendasikan sebelum Anda membuat produk data pertama.

Secara default, pembuatan produk data mengharuskan Anda memasukkan deskripsi bisnis, definisi teknis, dan dokumentasi aktivasi aset secara manual. Saat Anda mengaktifkan integrasi Gemini, Knowledge Catalog memanfaatkan bantuan AI untuk menganalisis skema dan hasil pemindaian data secara otomatis guna menghasilkan hal berikut:

  • Dokumentasi bisnis: Membuat template dokumentasi dan deskripsi yang jelas untuk produk data Anda dan aset data individualnya.
  • Insight dan contoh kueri: Membuat contoh kueri siap pakai berdasarkan tata letak skema aset, sehingga konsumen data dapat langsung mulai membuat kueri produk setelah disetujui.

Jika Anda memilih untuk tidak mengaktifkan Gemini, Anda dapat melewati bagian ini. Namun, Anda harus memberikan semua metadata aset dan template kueri secara manual selama pembuatan.

Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan Gemini di BigQuery, lihat Menyiapkan Gemini di BigQuery.

Mengaktifkan API

Aktifkan Dataplex dan BigQuery API.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

Aktifkan API

Membuat aset data

Pastikan aset data Anda (misalnya, set data, tabel, dan tampilan BigQuery) dibuat dan diisi.

Untuk mengetahui informasi selengkapnya tentang cara membuat aset data, lihat dokumen berikut:

Mengonfigurasi identitas

Identifikasi atau buat Google Grup atau akun layanan yang ingin Anda konfigurasi di produk data Anda.

Peran yang diperlukan

Bagian ini menguraikan peran IAM minimum yang diperlukan untuk bagian utama berikut:

  • Pemilik produk data: pengguna yang membuat, mengonfigurasi, dan mengelola produk data serta aset terkaitnya

  • Konsumen produk data: pengguna yang menelusuri, melihat, dan meminta akses ke produk data yang dipublikasikan

Peran yang diperlukan untuk pemilik produk data

Untuk mendapatkan izin yang Anda perlukan untuk membuat dan mengelola produk data, minta administrator untuk memberi Anda peran IAM berikut pada project:

  • Izin penuh untuk membuat, memperbarui, menghapus, mengelola izin, dan menyetujui atau menolak permintaan akses untuk produk data: Admin Produk Data Dataplex (roles/dataplex.dataProductsAdmin)
  • Perbarui dan kelola izin, serta setujui atau tolak permintaan akses untuk produk data: Editor Produk Data Dataplex (roles/dataplex.dataProductsEditor)
  • Tambahkan aspek metadata (seperti schema, overview, contacts, dan queries): Pemilik Entri dan EntryLink Dataplex (roles/dataplex.entryOwner)
  • Menelusuri dan menambahkan aset: Dataplex Catalog Viewer (roles/dataplex.catalogViewer)
  • Mengedit jenis aspek sistem (seperti overview, contact, contract, dan queries): Editor Katalog Dataplex (roles/dataplex.catalogEditor)
  • Membuat atau mengambil pemindaian data insight untuk dokumentasi otomatis dan pembuatan insight: Admin DataScan Dataplex (roles/dataplex.dataScanAdmin)

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat dan mengelola produk data. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat dan mengelola produk data:

  • Buat produk data: dataplex.dataProducts.create
  • Mencantumkan produk data dalam project: dataplex.dataProducts.list
  • Mendapatkan atau melihat produk data: dataplex.dataProducts.get
  • Mengedit produk data yang ada: dataplex.dataProducts.update
  • Hapus produk data: dataplex.dataProducts.delete
  • Menyetujui permintaan akses produk data: dataplex.dataProducts.approve
  • Menelusuri produk data menggunakan Knowledge Catalog:
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • Buat permintaan akses produk data: dataplex.dataProducts.get
  • Buat aset data: dataplex.dataAssets.create
  • Mencantumkan aset data dalam produk data: dataplex.dataAssets.list
  • Mendapatkan aset data: dataplex.dataAssets.get
  • Edit aset data yang ada: dataplex.dataAssets.update
  • Menghapus aset data: dataplex.dataAssets.delete
  • Buat pemindaian data: dataplex.datascans.create
  • Mencantumkan semua pemindaian data: dataplex.datascans.list
  • Mendapatkan pemindaian data: dataplex.datascans.get
  • Jalankan pemindaian data: dataplex.datascans.run
  • Edit jenis aspek sistem overview: dataplex.entryGroups.useOverviewAspect
  • Edit jenis aspek sistem refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect
  • Edit jenis aspek sistem queries: dataplex.entryGroups.useQueriesAspect

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Peran yang diperlukan untuk konsumen produk data

Agar konsumen produk data dapat menelusuri, melihat, dan meminta akses ke produk data, sebagai pemilik produk data, Anda harus memastikan produk data dapat ditemukan. Untuk melakukannya, berikan peran IAM berikut kepada konsumen produk data di produk data:

  • Cari produk data dan minta akses ke produk data tersebut: Konsumen Produk Data Dataplex (dataplex.dataProductsConsumer) dan Pelihat Katalog Dataplex (roles/dataplex.catalogViewer)
  • Akses hanya baca untuk melihat definisi dan metadata produk data: Pelihat Produk Data Dataplex (dataplex.dataProductsViewer)

Membuat dan mengonfigurasi produk data

Pembuatan produk data melibatkan tugas-tugas tingkat tinggi berikut:

  1. Membuat produk data

    Langkah awal wajib ini memerlukan penentuan detail inti seperti nama produk data yang unik, deskripsi, region tempat produk data dibuat, dan detail kontak.

  2. Opsional: Menambahkan aset

    Pada fase ini, Anda memilih aset yang akan disertakan dalam produk data. Batasan utama adalah aset harus berada di region yang sama dengan produk data itu sendiri. Anda dapat menambahkan hingga 10 aset sekaligus, dengan total maksimum 50 aset yang diizinkan per produk data.

    Untuk mengetahui daftar aset yang didukung, lihat Aset yang didukung.

  3. Opsional: Mengonfigurasi grup akses dan izin aset

    Pada fase opsional ini, Anda menyederhanakan kontrol akses dengan membuat grup akses. Grup akses ini bertindak sebagai alias yang mudah digunakan (misalnya, Analyst atau Reader) untuk akun layanan dan Google Grup yang mendasarinya. Kemudian, Anda menetapkan izin dengan memilih peran IAM tertentu dan memetakannya ke grup akses untuk aset tertentu.

  4. Opsional: Tambahkan detail kontrak dan aspek

    Pada fase ini, Anda meningkatkan tata kelola dan visibilitas data dengan melampirkan framework metadata. Anda dapat menambahkan kontrak untuk secara resmi mengomunikasikan irama pembaruan data, dengan menentukan parameter seperti frekuensi pembaruan, waktu, dan nilai minimum varians. Anda juga dapat melampirkan aspek kustom untuk memberikan metadata bisnis atau teknis tambahan untuk produk data Anda.

  5. Opsional: Tambahkan detail lainnya

    Pada fase terakhir ini, Anda menambahkan dokumentasi rich text, seperti panduan orientasi pengguna, definisi bisnis, dan contoh kueri, untuk membantu konsumen berinteraksi dengan produk data segera setelah disetujui.

Untuk membuat dan mengonfigurasi produk data, selesaikan langkah-langkah di bagian berikut:

Membuat produk data

Konsol

  1. Di konsol Google Cloud , buka halaman Produk data Knowledge Catalog.

    Buka Produk data

  2. Klik Create.

  3. Di panel Create data products, masukkan detail berikut:

    • Nama produk data: Masukkan nama unik untuk produk data Anda.
    • ID produk data: Ini adalah ID unik yang dibuat secara otomatis. Anda dapat mengedit kolom ini.
    • Project ID: Ini adalah ID unik project tempat produk data dibuat. Jelajahi dan pilih project.
    • Region: Pilih region atau multi-region tempat produk data dibuat.
    • Ikon produk data: Jelajahi dan pilih ikon untuk mengidentifikasi produk data secara visual. Tindakan tersebut bersifat opsional.
    • Deskripsi: Masukkan deskripsi singkat produk data.
    • Kontak: Berikan informasi kontak untuk alur kerja persetujuan dan tata kelola:

      • Alamat email pemilik produk data: Masukkan alamat email pemilik produk data.
      • Alamat email pemberi persetujuan produk data: Masukkan alamat email pemberi persetujuan yang ditunjuk yang bertanggung jawab untuk menyetujui permintaan atau perubahan akses.
    • Label: Tambahkan label key-value untuk mengatur resource Anda. Ini bersifat opsional.

  4. Klik Buat produk data.

Terraform

Untuk membuat produk data, gunakan resource google_dataplex_data_product.

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

provider = google-beta
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda
  • LOCATION: region tempat Anda ingin membuat produk data
  • DATA_PRODUCT_ID: ID unik untuk produk data Anda
  • DISPLAY_NAME: nama yang mudah digunakan untuk produk data Anda
  • DESCRIPTION: deskripsi singkat produk data
  • EMAIL_IDs: alamat email pemilik produk data yang dipisahkan koma, misalnya—["user1@example.com", "user2@example.com"]

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


//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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Node.js API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Python API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

# 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

Untuk membuat produk data, gunakan metode dataProducts.create.

Misalnya, kirim permintaan POST berikut:

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

Ganti kode berikut:

  • DISPLAY_NAME: nama yang mudah digunakan untuk produk data Anda
  • EMAIL_IDs: alamat email pemilik produk data yang dipisahkan koma
  • APPROVER_EMAIL_IDs: alamat email yang dipisahkan koma dari pemberi persetujuan yang ditunjuk yang bertanggung jawab untuk menyetujui permintaan atau perubahan akses.
  • PROJECT_ID: ID project Google Cloud Anda
  • LOCATION: region tempat Anda ingin membuat produk data
  • DATA_PRODUCT_ID: ID unik untuk produk data Anda

Opsional: Tambahkan aset

Anda dapat menambahkan berbagai aset data, seperti tabel, tampilan, set data, dan model BigQuery ke produk data Anda. Untuk mengetahui daftar aset yang didukung, lihat Aset yang didukung.

Konsol

  1. Di panel Tambahkan aset, klik +Tambahkan.

  2. Telusuri dan pilih aset yang ingin Anda tambahkan ke produk data. Aset yang Anda pilih harus berada di region yang sama dengan produk data.

    Jika memiliki izin yang diperlukan, Anda dapat melihat metadata aset dengan mengklik aset.

  3. Untuk menyaring hasil penelusuran, gunakan Filter.

  4. Setelah Anda memilih aset, klik Tambahkan.

  5. Klik Lanjutkan.

Terraform

Untuk menambahkan aset data ke produk data Anda, gunakan google_dataplex_data_product_data_asset resource.

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"

provider = google-beta
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda
  • LOCATION: region tempat produk data berada
  • DATA_PRODUCT_ID: ID produk data
  • DATA_ASSET_ID: ID unik untuk aset data ini dalam produk data
  • RESOURCE_NAME: nama resource lengkap aset data (misalnya, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


//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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Node.js API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Python API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

# 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

Untuk menambahkan aset data ke produk data, gunakan metode dataAssets.create.

Misalnya, kirim permintaan POST berikut:

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

Ganti kode berikut:

  • RESOURCE_NAME: nama resource lengkap aset data (misalnya, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
  • PROJECT_ID: ID Google Cloud project Anda
  • LOCATION: region tempat produk data berada
  • DATA_PRODUCT_ID: ID produk data
  • DATA_ASSET_ID: ID unik untuk aset data ini dalam produk data

Opsional: Mengonfigurasi grup akses dan izin aset

Di panel Konfigurasi grup akses dan izin aset, Anda dapat membuat grup akses dan menetapkan izin ke aset.

Mengonfigurasi grup akses

Konsol

  1. Klik Tambahkan grup akses.

  2. Di kolom Nama grup akses, masukkan nama untuk grup akses. Contoh, Analyst.

  3. Di kolom Deskripsi grup akses, masukkan deskripsi untuk grup akses.

  4. Di kolom Access group identifier, masukkan alamat email Grup Google yang ingin Anda tetapkan ke grup akses ini

    Konsumen produk data yang meminta akses untuk diri mereka sendiri akan ditambahkan sebagai anggota ke Grup Google yang dipetakan.

    Untuk mengetahui informasi selengkapnya tentang cara membuat Google Grup, lihat artikel Membuat dan mengelola Google Grup di konsol Google Cloud .

  5. Di kolom Access group service account, masukkan alamat email akun layanan yang ingin Anda tetapkan ke grup akses ini.

    Konsumen produk data yang meminta akses untuk akun layanannya akan diberi peran IAM Service Account Token Creator (roles/iam.serviceAccountTokenCreator) untuk meniru akun layanan produsen data yang dipetakan ke grup akses.

    Untuk mengetahui informasi selengkapnya tentang cara membuat akun layanan, lihat Membuat akun layanan.

  6. Klik Done.

  7. Untuk menambahkan grup akses lain, klik Tambahkan grup akses dan ulangi langkah-langkahnya.

    Anda dapat menambahkan maksimal tiga grup akses per produk data.

  8. Klik Simpan.

Terraform

Untuk menentukan grup akses bagi produk data Anda, gunakan blok bertingkat access_groups dalam resource google_dataplex_data_product.

Misalnya, gunakan konfigurasi berikut:

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"
  }

provider = google-beta
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda
  • LOCATION: region tempat produk data berada
  • DATA_PRODUCT_ID: ID unik untuk produk data
  • DISPLAY_NAME: nama yang mudah digunakan untuk produk data Anda
  • EMAIL_IDs: alamat email pemilik produk data yang dipisahkan koma, misalnya—["user1@example.com", "user2@example.com"]

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


//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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Node.js API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Python API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

# 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

Untuk mengonfigurasi grup akses untuk produk data, gunakan metode dataProducts.patch.

Misalnya, kirim permintaan PATCH berikut:

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"

Ganti kode berikut:

  • ACCESS_GROUPS_MAP: objek JSON yang merepresentasikan peta di mana setiap kunci adalah ID grup akses dan nilainya adalah objek AccessGroup. Contoh:

    {
    "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"
        }
    }
    
  • PROJECT_ID: ID project Google Cloud Anda

  • LOCATION: region tempat produk data berada

  • DATA_PRODUCT_ID: ID produk data Anda

Mengonfigurasi izin aset

Setelah mengonfigurasi grup akses, Anda dapat mengonfigurasi izin untuk aset dalam produk data.

Konsol

  1. Di bagian Izin aset, pilih aset yang izinnya ingin Anda konfigurasi. Anda dapat memilih dan mengonfigurasi izin untuk hingga 10 aset sekaligus.

  2. Klik Konfigurasi izin.

  3. Di kolom Pilih grup akses, pilih grup akses.

  4. Di kolom Tetapkan peran IAM, pilih peran IAM yang ingin Anda tetapkan ke grup akses.

    Misalnya, jika aset Anda adalah tabel BigQuery bernama Sales, dan jika Anda memilih grup akses Analyst, serta menetapkan peran BigQuery Metadata Viewer ke grup akses ini, konsumen produk data yang merupakan bagian dari grup akses Analyst memiliki izin BigQuery Metadata Viewer pada tabel Sales.

    Anda dapat menambahkan beberapa peran ke aset.

  5. Klik Configure. Aset kini menampilkan izin yang ditetapkan.

  6. Untuk mengonfigurasi izin aset lainnya, ulangi langkah-langkah tersebut.

  7. Klik Lanjutkan.

Terraform

Tetapkan peran IAM ke grup akses Anda untuk aset tertentu menggunakan blok access_group_configs di resource google_dataplex_data_product_data_asset.

Misalnya, gunakan konfigurasi berikut:

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"]
}

provider = google-beta
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda
  • LOCATION: region tempat produk data berada
  • DATA_PRODUCT_ID: ID produk data
  • DATA_ASSET_ID: ID unik untuk aset data ini dalam produk data
  • RESOURCE_NAME: nama resource lengkap aset data (misalnya, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

C#

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog C# API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Go API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


//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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Java API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Node.js API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * 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

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Knowledge Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Knowledge Catalog Python API.

Untuk melakukan autentikasi ke Knowledge Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

# 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

Untuk mengonfigurasi izin aset dalam produk data, gunakan metode dataAssets.patch.

Misalnya, kirim permintaan PATCH berikut:

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"

Ganti kode berikut:

  • ACCESS_GROUP_CONFIGS_MAP: objek JSON yang merepresentasikan peta di mana setiap kunci adalah ID grup akses dan nilainya adalah objek AccessGroupConfig. Contoh:

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: ID project Google Cloud Anda

  • LOCATION: region tempat produk data berada

  • DATA_PRODUCT_ID: ID produk data Anda

  • DATA_ASSET_ID: ID aset yang izinnya ingin Anda konfigurasi

Opsional: Tambahkan detail kontrak dan aspek

Anda dapat menambahkan kontrak dan aspek untuk produk data.

Menambahkan kontrak

Untuk membangun fondasi kepercayaan antara produsen dan konsumen data, Anda dapat melampirkan kontrak ke produk data Anda. Dengan menentukan parameter seperti waktu dan nilai minimum pembaruan, Anda memberikan konteks yang diperlukan kepada konsumen untuk memahami kapan data diperbarui dan apakah data tersebut memenuhi persyaratan bisnis spesifik mereka.

Konsol

  1. Di panel Tambahkan detail kontrak dan aspek, klik Tambahkan kontrak.

  2. Di kolom Select contract, pilih Refresh cadence.

  3. Di kolom Frekuensi, pilih jadwal yang disepakati untuk seberapa sering data diperbarui atau dikirimkan, sehingga memastikan alur yang dapat diprediksi dari produsen data ke konsumen data. Contoh, Weekly.

  4. Di kolom Waktu pembaruan, masukkan waktu maksimum yang dapat diterima saat data diperbarui di sumbernya dan saat data tersedia untuk konsumen. Contoh, 23:00 PST.

  5. Di kolom Threshold (dalam menit), masukkan batas yang dapat diukur dalam menit untuk penundaan yang dapat diterima dalam pengiriman data. Misalnya, masukkan 30 untuk menetapkan batas 30 menit.

  6. Opsional: Di kolom Cron schedule, masukkan ekspresi cron yang menentukan jadwal untuk pembuatan dan pengiriman data dalam format: MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK

    Berikut adalah nilai yang diterima:

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

    Misalnya, 0 8 * * 1-5 berjalan pada pukul 08.00 pada hari kerja (Senin-Jumat).

  7. Klik Simpan.

REST

Kontrak dimodelkan sebagai aspek pada produk data. Untuk menambahkan kontrak Refresh Cadence untuk produk data, gunakan metode entries.patch.

Misalnya, kirim permintaan PATCH berikut:

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"

Ganti kode berikut:

  • REFRESH_FREQUENCY: jadwal yang disepakati untuk seberapa sering data diperbarui atau dikirimkan, sehingga memastikan alur yang dapat diprediksi dari produsen data ke konsumen data. Contoh: Weekly
  • PROJECT_ID: ID Google Cloud project tempat panggilan API dilakukan
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • DATA_PRODUCT_LOCATION: lokasi resource produk data
  • DATA_PRODUCT_ID: ID produk data Anda

Terraform

Kontrak dimodelkan sebagai aspek pada produk data. Untuk mengelola kontrak, Anda harus mengelola entri Knowledge Catalog yang mendasarinya. Karena Terraform tidak otomatis menemukan aspek yang ada, Anda harus mengimpor google_dataplex_entry terlebih dahulu.

Untuk mengimpor entri, gunakan perintah berikut:

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"

Konfigurasi Terraform:

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"
    })
  }
}

provider = google-beta
}

Ganti kode berikut:

  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_ID: ID produk data Anda
  • REFRESH_FREQUENCY: jadwal yang disepakati untuk seberapa sering data diperbarui atau dikirimkan, sehingga memastikan alur yang dapat diprediksi dari produsen data ke konsumen data. Contoh: Weekly

Untuk mengetahui informasi umum tentang proses impor, lihat dokumentasi impor Terraform.

Menambahkan aspek

Gunakan aspek untuk memperkaya produk data Anda dengan metadata terstruktur yang dapat digunakan kembali. Template ini memberikan cara standar bagi produsen data untuk mengomunikasikan kualitas dan kesesuaian produk data, sehingga meningkatkan tata kelola dan membantu konsumen menentukan apakah produk tersebut memenuhi kebutuhan bisnis mereka.

Untuk menambahkan aspek produk data, ikuti langkah-langkah berikut:

Konsol

  1. Di panel Tambahkan detail kontrak dan aspek, klik + Tambahkan aspek.

  2. Di kolom Pilih jenis aspek, telusuri dan pilih jenis aspek dari daftar. Contoh, Geo context.

  3. Klik Simpan.

REST

Untuk menambahkan aspek produk data, gunakan metode entries.patch.

Misalnya, kirim permintaan PATCH berikut:

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"

Ganti kode berikut:

  • ASPECT_PROJECT_ID: ID project Google Cloud tempat aspek dibuat
  • ASPECT_LOCATION: region endpoint layanan Knowledge Catalog tempat aspek dibuat (misalnya, us-central1)
  • ASPECT_NAME: nama aspek yang ingin Anda lampirkan ke produk data
  • PROJECT_ID: ID Google Cloud project tempat panggilan API dilakukan
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • DATA_PRODUCT_LOCATION: lokasi resource produk data
  • DATA_PRODUCT_ID: ID produk data Anda

Terraform

Untuk mengelola aspek, Anda harus mengelola entri Knowledge Catalog yang mendasarinya. Karena Terraform tidak otomatis menemukan aspek yang ada, Anda harus mengimpor google_dataplex_entry terlebih dahulu.

Untuk mengimpor entri, gunakan perintah berikut:

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"

Konfigurasi Terraform:

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 = {}
  }
}

provider = google-beta
}

Ganti kode berikut:

  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_ID: ID produk data Anda
  • ASPECT_PROJECT_NUMBER: nomor Google Cloud project tempat aspek dibuat
  • ASPECT_LOCATION: region endpoint layanan Knowledge Catalog tempat aspek dibuat (misalnya, us-central1)
  • ASPECT_NAME: nama aspek yang ingin Anda lampirkan ke produk data

Untuk mengetahui informasi umum tentang proses impor, lihat dokumentasi impor Terraform.

Opsional: Tambahkan detail tambahan

Anda dapat menambahkan dokumentasi dan contoh kueri untuk produk data Anda guna memberikan konteks penting, deskripsi logika bisnis, dan panduan pengguna. Di Knowledge Catalog, dokumentasi dikelola melalui aspek sistem overview.

Anda dapat membuat dokumentasi ini secara manual atau menggunakan Insight data Knowledge Catalog untuk membuatnya secara otomatis.

Menambahkan dokumentasi dan contoh kueri secara manual

Konsol

Untuk menambahkan dokumentasi produk data Anda, ikuti langkah-langkah berikut:

  1. Di panel Tambahkan detail tambahan, klik Edit di samping Dokumentasi.

  2. Ketik konten di editor rich text.

  3. Klik Simpan.

Untuk menambahkan contoh kueri untuk produk data Anda, ikuti langkah-langkah berikut:

  1. Di panel Tambahkan detail tambahan, klik Tambahkan kueri di bagian Rekomendasi kueri.

  2. Ketik contoh kueri.

  3. Klik Simpan.

Produk data yang baru dibuat akan muncul di halaman Produk data Knowledge Catalog.

REST

Dokumentasi dimodelkan sebagai aspek pada produk data. Untuk menambahkan dokumentasi, gunakan metode entries.patch.

Misalnya, kirim permintaan PATCH berikut:

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"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project tempat panggilan API dilakukan
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • DATA_PRODUCT_LOCATION: lokasi resource produk data
  • DATA_PRODUCT_ID: ID produk data Anda
  • DOCUMENTATION: konten yang ingin Anda lampirkan ke produk data

Terraform

Dokumentasi dimodelkan sebagai aspek pada produk data. Untuk mengelola dokumentasi, Anda harus mengelola entri Knowledge Catalog yang mendasarinya. Karena Terraform tidak otomatis menemukan aspek yang ada, Anda harus mengimpor google_dataplex_entry terlebih dahulu.

Untuk mengimpor entri, gunakan perintah berikut:

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"

Konfigurasi Terraform:

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"
    })
  }
}

provider = google-beta
}

Ganti kode berikut:

  • DATA_PRODUCT_PROJECT_NUMBER: nomor project tempat resource produk data berada
  • LOCATION: region endpoint layanan Knowledge Catalog yang Anda panggil (misalnya, us-central1)
  • DATA_PRODUCT_ID: ID produk data Anda
  • DOCUMENTATION: konten yang ingin Anda lampirkan ke produk data

Untuk mengetahui informasi umum tentang proses impor, lihat dokumentasi impor Terraform.

Membuat dokumentasi otomatis dan contoh kueri menggunakan insight data

Sebelum Anda membuat dokumentasi dan contoh kueri menggunakan Gemini, selesaikan prasyarat berikut:

  1. Aktifkan Gemini for Google Cloud API di project tempat Anda membuat produk data.

  2. Memberikan peran pengguna khusus insight: Minta administrator untuk memberikan peran dan izin berikut pada project produk data kepada identitas Anda:

    • Membuat dan mengelola insight data: Editor Dataplex DataScan (roles/dataplex.dataScanEditor) atau Administrator Dataplex DataScan (roles/dataplex.dataScanAdmin) di project tempat produk data berada
    • Melihat insight yang dihasilkan: Dataplex DataScan DataViewer (roles/dataplex.dataScanDataViewer) di project tempat produk data berada
  3. Mengonfigurasi izin agen layanan lintas project. Jika aset data pokok Anda berada di project Google Cloud yang berbeda dengan project produk data, Anda harus memberikan akses ke aset tersebut kepada agen layanan Knowledge Catalog (P4SA):

    1. Untuk membuat atau mengambil ID agen layanan untuk project produk data Anda, jalankan perintah Google Cloud CLI berikut:

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

      Ganti DATA_PRODUCT_PROJECT_ID dengan Google Cloud project ID tempat produk data Anda berada.

    2. Di setiap project eksternal tempat aset Anda berada, berikan peran berikut kepada agen layanan project produk data:

      • BigQuery Data Editor (roles/bigquery.dataEditor) di tabel dan set data pokok

      • Admin BigQuery Studio (roles/bigquery.studioAdmin) di project aset

Untuk membuat dokumentasi dan contoh kueri untuk produk data Anda menggunakan insight data, ikuti langkah-langkah berikut:

  1. Di panel Tambahkan detail tambahan, pada kolom Buat insight dengan Gemini, klik Buat.

    Tunggu beberapa menit hingga proses pembuatan insight selesai.

  2. Untuk meninjau konten yang dihasilkan, klik Lihat.

  3. Mengevaluasi konten yang dihasilkan:

    • Jika konten sudah akurat, klik Simpan. Tindakan ini akan mengisi editor teks kaya dengan template dokumentasi yang telah ditentukan sebelumnya dan menambahkan contoh kueri ke bagian Insight.

    • Jika konten tidak sesuai harapan, klik Hapus.

  4. Klik Simpan untuk menyelesaikan.

Langkah berikutnya