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 izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). 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 Dataplex DataScan (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
  • Telusuri 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 tambahan

    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. Hal ini bersifat opsional.

  4. Klik Buat produk data.

Terraform

Untuk membuat produk data, gunakan resource google_dataplex_data_product dan 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"
}

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"].
  • APPROVER_EMAIL_IDs: alamat email yang dipisahkan koma dari pemberi persetujuan yang ditunjuk yang bertanggung jawab untuk menyetujui permintaan atau modifikasi akses untuk produk data ini.
  • ICON_BASE64_STRING: data gambar mentah berenkode base64 yang merepresentasikan produk data. Ukuran maksimumnya adalah 3,0 MiB. Jangan sertakan awalan skema URL data.
  • MEMBER: pengguna, akun layanan, atau grup yang menerima peran konsumen (misalnya, group:all-analysts@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