Membuat dan menggunakan pemindaian profil data

Knowledge Catalog (sebelumnya Dataplex Universal Catalog) memungkinkan Anda mengidentifikasi karakteristik statistik umum (nilai umum, distribusi data, jumlah nilai null) kolom di tabel BigQuery Anda. Informasi ini membantu Anda memahami dan menganalisis data secara lebih efektif.

Untuk mengetahui informasi selengkapnya tentang pemindaian profil data Knowledge Catalog, lihat Tentang pembuatan profil data.

Sebelum memulai

Mengaktifkan Dataplex 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.

Mengaktifkan API

Peran dan izin yang diperlukan

Bagian ini menjelaskan peran dan izin IAM yang diperlukan untuk menggunakan pemindaian profil data Knowledge Catalog.

Peran dan izin pengguna

Untuk mendapatkan izin yang Anda perlukan untuk membuat dan mengelola pemindaian profil data, minta administrator untuk memberi Anda peran IAM berikut:

  • Membuat, menjalankan, memperbarui, dan menghapus pemindaian profil data: Editor Dataplex DataScan (roles/dataplex.dataScanEditor) di project yang berisi pemindaian data
  • Melihat hasil, tugas, dan histori pemindaian profil data: Dataplex DataScan Viewer (roles/dataplex.dataScanViewer) pada project yang berisi pemindaian data
  • Publikasikan hasil pemindaian profil data ke Knowledge Catalog: Dataplex Catalog Editor (roles/dataplex.catalogEditor) di grup entri @bigquery
  • Melihat hasil pemindaian profil data yang dipublikasikan di BigQuery pada tab Profil data: BigQuery Data Viewer (roles/bigquery.dataViewer) pada tabel

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 pemindaian profil data. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat dan mengelola pemindaian profil data:

  • Membuat, menjalankan, memperbarui, dan menghapus pemindaian profil data:
    • dataplex.datascans.create di project
    • dataplex.datascans.update pada pemindaian data
    • dataplex.datascans.delete pada pemindaian data
    • dataplex.datascans.run pada pemindaian data
    • dataplex.datascans.get pada pemindaian data
    • dataplex.datascans.list di project
    • dataplex.dataScanJobs.get pada tugas pemindaian data
    • dataplex.dataScanJobs.list pada pemindaian data
  • Melihat hasil, tugas, dan histori pemindaian profil data:
    • dataplex.datascans.getData pada pemindaian data
    • dataplex.datascans.list di project
    • dataplex.dataScanJobs.get pada tugas pemindaian data
    • dataplex.dataScanJobs.list pada pemindaian data
  • Memublikasikan hasil pemindaian profil data ke Knowledge Catalog:
    • dataplex.entryGroups.useDataProfileAspect di grup entri
    • bigquery.tables.update di tabel
    • dataplex.entries.update saat masuk
  • Melihat hasil profil data yang dipublikasikan untuk tabel di BigQuery atau Knowledge Catalog:
    • bigquery.tables.get di tabel
    • bigquery.tables.getData di tabel

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

Peran dan izin akun layanan Knowledge Catalog

Untuk memastikan akun layanan Knowledge Catalog memiliki izin yang diperlukan untuk menjalankan pemindaian profil data dan mengekspor hasil, minta administrator Anda untuk memberikan peran IAM berikut kepada akun layanan Knowledge Catalog:

  • Jalankan pemindaian profil data terhadap data BigQuery:
  • Menjalankan pemindaian profil data untuk tabel eksternal BigQuery yang menggunakan data Cloud Storage:
  • Jalankan pemindaian profil data untuk tabel Katalog REST Iceberg di Google Cloud Lakehouse: BigLake Viewer (roles/biglake.viewer) pada tabel Iceberg Rest Catalog yang dipindai
  • Mengekspor hasil pemindaian profil data ke tabel BigQuery: BigQuery Data Editor (roles/bigquery.dataEditor) di tabel

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

Peran bawaan ini berisi izin yang diperlukan untuk menjalankan pemindaian profil data dan mengekspor hasilnya. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menjalankan pemindaian profil data dan mengekspor hasil:

  • Jalankan pemindaian profil data terhadap data BigQuery:
    • bigquery.jobs.create di project
    • bigquery.tables.get di tabel
    • bigquery.tables.getData di tabel
  • Menjalankan pemindaian profil data untuk tabel eksternal BigQuery yang menggunakan data Cloud Storage:
    • storage.buckets.get pada bucket
    • storage.objects.get pada objek
  • Mengekspor hasil pemindaian profil data ke tabel BigQuery:
    • bigquery.tables.create pada set data
    • bigquery.tables.updateData di tabel

Administrator Anda mungkin juga dapat memberikan izin ini kepada akun layanan Knowledge Catalog dengan peran khusus atau peran bawaan lainnya.

Jika tabel menggunakan keamanan tingkat baris BigQuery, Knowledge Catalog hanya dapat memindai baris yang terlihat oleh akun layanan Knowledge Catalog. Untuk mengizinkan Knowledge Catalog memindai semua baris, tambahkan akun layanannya ke filter baris dengan predikat TRUE.

Jika tabel menggunakan keamanan tingkat kolom BigQuery, maka Knowledge Catalog memerlukan akses untuk memindai kolom yang dilindungi. Untuk memberikan akses, berikan peran Data Catalog Fine-Grained Reader (roles/datacatalog.fineGrainedReader) kepada akun layanan Knowledge Catalog di semua tag kebijakan yang digunakan dalam tabel. Pengguna yang membuat atau memperbarui pemindaian data juga memerlukan izin pada kolom yang dilindungi.

Memberikan peran ke akun layanan Knowledge Catalog

Untuk menjalankan pemindaian profil data, Knowledge Catalog menggunakan akun layanan yang memerlukan izin untuk menjalankan tugas BigQuery dan membaca data tabel BigQuery. Untuk memberikan peran yang diperlukan, ikuti langkah-langkah berikut:

  1. Dapatkan alamat email akun layanan Knowledge Catalog. Jika Anda belum membuat profil data atau pemindaian kualitas data di project ini sebelumnya, jalankan perintah gcloud berikut untuk membuat identitas layanan:

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

    Perintah ini menampilkan email akun layanan, yang memiliki format berikut: service-PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com.

    Jika akun layanan sudah ada, Anda dapat menemukan emailnya dengan melihat akun utama dengan nama Dataplex di halaman IAM di konsol Google Cloud .

  2. Beri akun layanan peran BigQuery Job User (roles/bigquery.jobUser) di project Anda. Peran ini memungkinkan akun layanan menjalankan tugas BigQuery untuk pemindaian.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
        --role="roles/bigquery.jobUser"
    

    Ganti kode berikut:

    • PROJECT_ID: Google Cloud Project ID Anda.
    • service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com: email akun layanan Knowledge Catalog.
  3. Beri akun layanan peran BigQuery Data Viewer (roles/bigquery.dataViewer) untuk setiap tabel yang ingin Anda buat profilnya. Peran ini memberikan akses hanya baca ke tabel.

    gcloud bigquery tables add-iam-policy-binding DATASET_ID.TABLE_ID \
        --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
        --role="roles/bigquery.dataViewer"
    

    Ganti kode berikut:

    • DATASET_ID: ID set data yang berisi tabel.
    • TABLE_ID: ID tabel yang akan dibuat profilnya.
    • service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com: email akun layanan Knowledge Catalog.

Mengonfigurasi identitas eksekusi

Secara default, pemindaian profil data dijalankan menggunakan Agen Layanan Knowledge Catalog. Anda dapat mengganti setelan ini untuk menggunakan akun layanan kustom atau Kredensial Pengguna Akhir (EUC) Anda sendiri.

Menggunakan identitas eksekusi kustom akan mengubah cara penagihan pemindaian. Saat Anda menentukan identitas eksekusi kustom, biaya komputasi dan penyimpanan yang terkait dengan pemindaian akan ditagih langsung ke project BigQuery Anda, tanpa melalui SKU Premium Knowledge Catalog standar.

Izin yang diperlukan untuk identitas eksekusi kustom

Untuk mengonfigurasi akun layanan kustom atau menggunakan kredensial pengguna akhir, Anda harus memiliki izin IAM tambahan berikut:

  • Untuk menggunakan akun layanan kustom, Anda memerlukan izin berikut:
    • Izin iam.serviceAccounts.actAs yang diberikan untuk project yang berisi akun layanan (misalnya, roles/iam.serviceAccountUser).
    • Agen Layanan project Anda (service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) memerlukan izin iam.serviceAccounts.getAccessToken pada akun layanan kustom (misalnya, dengan memiliki peran roles/iam.serviceAccountTokenCreator).
    • Akun layanan kustom memerlukan bigquery.tables.getData pada tabel untuk memindai, bigquery.jobs.insert di project pemindaian, dan bigquery.dataEditor pada set data ekspor (jika menggunakan ekspor).
  • Untuk menggunakan Kredensial Pengguna Akhir, Anda memerlukan:
    • bigquery.tables.getData di atas meja untuk dipindai.
    • bigquery.jobs.insert di project pemindaian.
    • bigquery.dataEditor pada set data ekspor (jika menggunakan ekspor).

Untuk mengonfigurasi identitas eksekusi, pilih salah satu opsi berikut:

Konsol

Untuk mengonfigurasi identitas eksekusi di konsol Google Cloud , pilih identitas saat Anda membuat pemindaian profil data.

Di bagian Execution Identity, pilih salah satu opsi berikut:

  • Akun layanan Dataplex: Perilaku default.
  • Akun layanan tertentu: Masukkan alamat email akun layanan yang ingin Anda gunakan.
  • Kredensial Pengguna: Gunakan kredensial Anda sendiri untuk menjalankan pemindaian.

REST

Untuk menggunakan akun layanan kustom, tambahkan objek executionIdentity ke definisi resource DataScan selama permintaan create:

"executionIdentity": {
  "serviceAccount": {
     "email": "YOUR_SERVICE_ACCOUNT_EMAIL"
  }
}
  

Ganti kode berikut:

  • YOUR_SERVICE_ACCOUNT_EMAIL: alamat email akun layanan yang ingin Anda gunakan.

Untuk menggunakan kredensial pengguna akhir, tentukan objek userCredential sebagai gantinya:

"executionIdentity": {
  "userCredential": {}
}
  

Membuat pemindaian profil data

Konsol

  1. Di konsol Google Cloud , buka halaman Knowledge Catalog Data profiling & quality.

    Buka Data profiling & quality

  2. Klik Buat pemindaian profil data.

  3. Opsional: Masukkan Nama tampilan.

  4. Masukkan ID. Lihat Konvensi penamaan resource.

  5. Opsional: Masukkan Deskripsi..

  6. Di kolom Table, klik Browse. Pilih tabel yang akan dipindai, lalu klik Pilih. Hanya tabel BigQuery standar dan Iceberg REST Catalog yang didukung.

    Untuk tabel dalam set data multi-region, pilih region tempat pemindaian data akan dibuat.

    Untuk menjelajahi tabel yang disusun dalam data lake Knowledge Catalog, klik Jelajahi dalam Data Lake Knowledge Catalog.

  7. Di bagian Mode, pilih salah satu opsi berikut:

    • Standar: memprofilkan data Anda dengan setelan pemindaian yang dapat disesuaikan. Ini adalah mode defaultnya.

    • Ringan: memberikan insight cepat dengan pemindaian latensi rendah dan fidelitas rendah.

  8. Jika Anda memilih mode Standar, konfigurasi opsi berikut. Opsi ini tidak muncul saat Anda memilih mode Ringan.

    1. Di kolom Cakupan, pilih Inkremental atau Seluruh data.

      Jika Anda memilih Data inkremental, di kolom Kolom stempel waktu, pilih kolom berjenis DATE atau TIMESTAMP dari tabel BigQuery Anda. Knowledge Catalog menggunakan kolom ini untuk mengidentifikasi data baru saat ditambahkan. Untuk tabel yang dipartisi pada kolom jenis DATE atau TIMESTAMP, sebaiknya gunakan kolom ini sebagai kolom partisi.

    2. Opsional: Untuk memfilter data, lakukan salah satu hal berikut:

      • Untuk memfilter menurut baris, pilih kotak centang Filter baris. Masukkan ekspresi SQL yang valid yang dapat digunakan dalam klausa WHERE dalam sintaksis GoogleSQL. Misalnya: col1 >= 0.

        Filter dapat berupa kombinasi kondisi SQL di beberapa kolom. Misalnya: col1 >= 0 AND col2 < 10.

      • Untuk memfilter menurut kolom, centang kotak Filter kolom.

      • Untuk menyertakan kolom dalam pemindaian profil, di kolom Sertakan kolom, klik Jelajahi. Pilih kolom yang akan disertakan, lalu klik Pilih.

      • Untuk mengecualikan kolom dari pemindaian profil, di kolom Kecualikan kolom, klik Jelajahi. Pilih kolom yang akan dikecualikan, lalu klik Pilih.

    3. Untuk menerapkan sampling ke pemindaian profil data, di daftar Ukuran sampling, pilih persentase sampling. Pilih nilai persentase yang berkisar antara 0,0% dan 100,0% dengan maksimal 3 digit desimal.

      • Untuk set data yang lebih besar, pilih persentase pengambilan sampel yang lebih rendah. Misalnya, untuk tabel 1 PB, jika Anda memasukkan nilai antara 0,1% dan 1,0%, profil data akan mengambil sampel data antara 1-10 TB.

      • Harus ada minimal 100 data dalam data yang diambil sampelnya untuk menampilkan hasil.

      • Untuk pemindaian data inkremental, pemindaian profil data menerapkan pengambilan sampel ke penambahan terbaru.

  9. Opsional: Publikasikan hasil pemindaian profil data di halaman BigQuery dan Knowledge Catalog di konsolGoogle Cloud untuk tabel sumber. Centang kotak Publikasikan hasil ke Knowledge Catalog.

    Anda dapat melihat hasil pemindaian terbaru di tab Profil data di halaman BigQuery dan Knowledge Catalog untuk tabel sumber. Untuk mengizinkan pengguna mengakses hasil pemindaian yang dipublikasikan, lihat bagian Memberikan akses ke hasil pemindaian profil data dalam dokumen ini.

    Opsi publikasi mungkin tidak tersedia dalam kasus berikut:

    • Anda tidak memiliki izin yang diperlukan pada tabel.
    • Pemindaian profil data lain ditetapkan untuk memublikasikan hasil.
  10. Di bagian Jadwal, pilih salah satu opsi berikut:

    • Ulangi: Jalankan pemindaian profil data sesuai jadwal: per jam, harian, mingguan, bulanan, atau kustom. Tentukan seberapa sering pemindaian harus dijalankan dan pada pukul berapa. Jika Anda memilih kustom, gunakan format cron untuk menentukan jadwal.

    • On-demand: Jalankan pemindaian profil data sesuai permintaan.

    • Jalankan satu kali: Jalankan pemindaian profil data sekali sekarang, dan hapus pemindaian setelah waktu penghapusan otomatis. Fitur ini berada dalam Pratinjau.

      • Menetapkan penghapusan otomatis hasil pasca-pemindaian: Waktu penghapusan otomatis menentukan durasi pemindaian profil data tetap aktif setelah dieksekusi. Pemindaian profil data tanpa waktu penghapusan otomatis yang ditentukan akan otomatis dihapus setelah 24 jam. Waktu penghapusan otomatis dapat berkisar dari 0 detik (penghapusan langsung) hingga 365 hari.
  11. Klik Lanjutkan.

  12. Opsional: Ekspor hasil pemindaian ke tabel standar BigQuery. Di bagian Ekspor hasil pemindaian ke tabel BigQuery, lakukan hal berikut:

    1. Di kolom Select BigQuery dataset, klik Browse. Pilih set data BigQuery untuk menyimpan hasil pemindaian profil data.

    2. Di kolom Tabel BigQuery, tentukan tabel untuk menyimpan hasil pemindaian profil data. Jika Anda menggunakan tabel yang sudah ada, pastikan tabel tersebut kompatibel dengan skema tabel ekspor. Jika tabel yang ditentukan tidak ada, Knowledge Catalog akan membuatnya untuk Anda.

  13. Opsional: Tambahkan label. Label adalah key-value pair yang memungkinkan Anda mengelompokkan objek terkait secara bersamaan atau dengan resource Google Cloud lainnya.

  14. Untuk membuat pemindaian, klik Buat.

    Jika Anda menyetel jadwal ke on-demand, Anda juga dapat menjalankan pemindaian sekarang dengan mengklik Jalankan pemindaian.

gcloud

Untuk membuat pemindaian profil data, gunakan perintah gcloud dataplex datascans create data-profile.

Jika data sumber disusun dalam lake Knowledge Catalog, sertakan flag --data-source-entity:

gcloud dataplex datascans create data-profile DATASCAN \
--location=LOCATION \
--data-source-entity=DATA_SOURCE_ENTITY

Jika data sumber tidak diatur dalam data lake Knowledge Catalog, sertakan flag --data-source-resource:

gcloud dataplex datascans create data-profile DATASCAN \
--location=LOCATION \
--data-source-resource=DATA_SOURCE_RESOURCE

Ganti variabel berikut:

  • DATASCAN: Nama pemindaian profil data.
  • LOCATION: Region Google Cloud tempat pembuatan pemindaian profil data.
  • DATA_SOURCE_ENTITY: Entitas Knowledge Catalog yang berisi data untuk pemindaian profil data. Contoh, projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity.
  • DATA_SOURCE_RESOURCE: Nama resource yang berisi data untuk pemindaian profil data. Contoh, //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.

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 GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for CreateDataScan</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 CreateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        CreateDataScanRequest request = new CreateDataScanRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            DataScan = new DataScan(),
            DataScanId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.CreateDataScan(request);

        // Poll until the returned long-running operation is complete
        Operation<DataScan, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        DataScan 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<DataScan, OperationMetadata> retrievedResponse = dataScanServiceClient.PollOnceCreateDataScan(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            DataScan 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.NewDataScanClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateDataScanRequest.
	}
	op, err := c.CreateDataScan(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.CreateDataScanRequest;
import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.LocationName;

public class SyncCreateDataScan {

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

  public static void syncCreateDataScan() 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 (DataScanServiceClient dataScanServiceClient = DataScanServiceClient.create()) {
      CreateDataScanRequest request =
          CreateDataScanRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setDataScan(DataScan.newBuilder().build())
              .setDataScanId("dataScanId1260787906")
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.createDataScanAsync(request).get();
    }
  }
}

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.

# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import google.api_core.exceptions
from google.cloud import dataplex_v1


def create_data_profile_scan_global(
    project_id: str,
    dataset_id: str,
    table_id: str,
    location: str,
) -> None:
    """Creates a Dataplex Data Profile Scan using global API endpoint routing.

    Args:
        project_id (str): Google Cloud project ID where the scan is created.
        dataset_id (str): Target BigQuery dataset ID.
        table_id (str): Target BigQuery table ID to scan.
        location (str): Google Cloud region where serverless compute runs.
    """
    client = dataplex_v1.DataScanServiceClient()

    parent = client.common_location_path(project=project_id, location=location)

    bigquery_table = (
        f"//bigquery.googleapis.com/projects/{project_id}"
        f"/datasets/{dataset_id}/tables/{table_id}"
    )

    data_profile_spec = dataplex_v1.DataProfileSpec(sampling_percent=100.0)

    data_scan = dataplex_v1.DataScan(
        display_name="Global Data Profile Scan",
        description="Regional data profile scan generating automated table statistics.",
        data=dataplex_v1.DataSource(resource=bigquery_table),
        data_profile_spec=data_profile_spec,
    )

    request = dataplex_v1.CreateDataScanRequest(
        parent=parent,
        data_scan=data_scan,
    )

    try:
        operation = client.create_data_scan(request=request)
        print(operation.result())

    except google.api_core.exceptions.AlreadyExists:
        print("A scan with this ID already exists.")
    except google.api_core.exceptions.InvalidArgument as e:
        print(f"Your scan configuration is invalid: {e}")
    except google.api_core.exceptions.GoogleAPIError as e:
        print(f"Unexpected exception: {e}")


Ruby

Ruby

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

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

require "google/cloud/dataplex/v1"

##
# Snippet for the create_data_scan call in the DataScanService service
#
# 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/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::DataScanService::Client#create_data_scan.
#
def create_data_scan
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::DataScanService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CreateDataScanRequest.new

  # Call the create_data_scan method.
  result = client.create_data_scan request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

Untuk membuat pemindaian profil data, gunakan metode dataScans.create.

Mengekspor skema tabel

Jika Anda ingin mengekspor hasil pemindaian profil data ke tabel BigQuery yang ada, pastikan tabel tersebut kompatibel dengan skema tabel berikut:

Nama kolom Jenis data kolom Nama sub-kolom (jika ada) Jenis data sub-bidang Mode Contoh