创建和使用数据分析扫描

借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog),您可以识别 BigQuery 表中列的常见统计特征(常见值、数据分布、null 值计数)。此信息有助于您更有效地了解和分析数据。

如需详细了解 Knowledge Catalog 数据分析扫描,请参阅数据分析简介。

准备工作

启用 Dataplex API。

启用 API 所需的角色

如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。

启用 API

所需的角色和权限

本部分介绍了使用 Knowledge Catalog 数据分析扫描所需的 IAM 角色和权限。

用户角色和权限

如需获得创建和管理数据剖析扫描所需的权限,请让管理员向您授予以下 IAM 角色:

  • 创建、运行、更新和删除数据分析扫描: 针对包含数据扫描的项目的 Dataplex DataScan Editor (roles/dataplex.dataScanEditor)
  • 查看数据分析扫描结果、作业和历史记录: 包含数据扫描的项目的 Dataplex DataScan Viewer (roles/dataplex.dataScanViewer)
  • 将数据分析扫描结果发布到 Knowledge Catalog:针对 @bigquery 条目组的 Dataplex Catalog Editor (roles/dataplex.catalogEditor)
  • 在数据分析标签页中查看 BigQuery 中已发布的数据分析文件扫描结果: 表的 BigQuery Data Viewer (roles/bigquery.dataViewer)
  • 运行数据分析扫描:
  • 针对使用 Cloud Storage 数据的 BigQuery 外部表运行数据分析扫描:
  • 在 Google Cloud 湖仓一体上针对 Iceberg REST 目录、SAP BDC Delta Lake 和 Apache Hive 表运行数据分析扫描: 针对要扫描的表,授予 BigLake Viewer (roles/biglake.viewer) 角色
  • 将数据分析扫描结果导出到 BigQuery 表:针对表的 BigQuery Data Editor (roles/bigquery.dataEditor)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

这些预定义角色可提供创建和管理数据剖析扫描所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需创建和管理数据分析扫描,需要具备以下权限:

  • 创建、运行、更新和删除数据分析扫描:
    • 项目的 dataplex.datascans.create 权限
    • 针对数据扫描的 dataplex.datascans.update 权限
    • 针对数据扫描的 dataplex.datascans.delete 权限
    • 针对数据扫描的 dataplex.datascans.run 权限
    • 针对数据扫描的 dataplex.datascans.get 权限
    • 项目的 dataplex.datascans.list 权限
    • 数据扫描作业的 dataplex.dataScanJobs.get 权限
    • 针对数据扫描的 dataplex.dataScanJobs.list 权限
  • 查看数据分析扫描结果、作业和历史记录:
    • 针对数据扫描的 dataplex.datascans.getData 权限
    • 项目的 dataplex.datascans.list 权限
    • 数据扫描作业的 dataplex.dataScanJobs.get 权限
    • 针对数据扫描的 dataplex.dataScanJobs.list 权限
  • 将数据分析扫描结果发布到 Knowledge Catalog:
    • dataplex.entryGroups.useDataProfileAspect 针对条目组
    • 表的 bigquery.tables.update 权限
    • dataplex.entries.update 在入口处
  • 在 BigQuery 或 Knowledge Catalog 中查看已发布的数据分析结果:
    • 表的 bigquery.tables.get 权限
    • 表的 bigquery.tables.getData 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

Knowledge Catalog 服务账号角色和权限

无论您选择哪种执行身份(默认的 Knowledge Catalog 服务代理、自定义服务账号或最终用户凭据),该身份都需要以下角色和权限才能在后端运行数据分析扫描作业并导出结果。

为确保执行身份拥有运行数据剖析扫描和导出结果所需的权限,请让管理员向执行身份授予以下 IAM 角色:

  • 运行数据分析扫描:
  • 针对使用 Cloud Storage 数据的 BigQuery 外部表运行数据分析扫描:
  • 在 Google Cloud 湖仓一体上针对 Iceberg REST 目录、SAP BDC Delta Lake 和 Apache Hive 表运行数据分析扫描: 针对要扫描的表,授予 BigLake Viewer (roles/biglake.viewer) 角色
  • 将数据分析扫描结果导出到 BigQuery 表:针对表的 BigQuery Data Editor (roles/bigquery.dataEditor)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

这些预定义角色包含运行数据剖析扫描和导出结果所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需运行数据分析扫描并导出结果,需要具备以下权限:

  • 针对 BigQuery 数据运行数据分析扫描:
    • 项目的 bigquery.jobs.create 权限
    • 表的 bigquery.tables.get 权限
    • 表的 bigquery.tables.getData 权限
  • 针对使用 Cloud Storage 数据的 BigQuery 外部表运行数据分析扫描:
    • 存储桶的 storage.buckets.get 权限
    • 对象的 storage.objects.get 权限
  • 将数据分析扫描结果导出到 BigQuery 表:
    • 针对数据集的 bigquery.tables.create 权限
    • 表的 bigquery.tables.updateData 权限

您的管理员也可以使用自定义角色或其他预定义角色向执行身份授予这些权限。

如果某个表使用 BigQuery 行级安全性,则 Knowledge Catalog 只能扫描对 Knowledge Catalog 服务账号可见的行。如需让 Knowledge Catalog 扫描所有行,请将其服务账号添加到谓词为 TRUE 的行过滤条件中。

如果某个表使用 BigQuery 列级安全性,则 Knowledge Catalog 需要访问权限才能扫描受保护的列。如需授予访问权限,请向知识目录服务账号授予表中使用的所有政策标记的 Data Catalog Fine-Grained Reader (roles/datacatalog.fineGrainedReader) 角色。创建或更新数据扫描的用户也需要拥有这些受保护列的权限。

向知识目录服务账号授予角色

为了运行数据分析扫描,Knowledge Catalog 使用的服务账号需要具备运行 BigQuery 作业和读取 BigQuery 表数据的权限。如需授予所需的角色,请按以下步骤操作:

  1. 获取 Knowledge Catalog 服务账号电子邮件地址。如果您之前未在此项目中创建数据分析或数据质量扫描,请运行以下 gcloud 命令以生成服务身份:

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

    该命令会返回服务账号邮箱,其格式如下:service-PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.com。

    如果服务账号已存在,您可以在Google Cloud 控制台的 IAM 页面上查看名称中包含 Dataplex 的主账号,找到该服务账号的电子邮件地址。

  2. 向服务账号授予您项目的 BigQuery Job User (roles/bigquery.jobUser) 角色。此角色可让服务账号运行 BigQuery 作业以进行扫描。

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

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目 ID。
    • service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com:Knowledge Catalog 服务账号的电子邮件地址。
  3. 向服务账号授予您要分析的每个表的 BigQuery Data Viewer (roles/bigquery.dataViewer) 角色。此角色可授予对表的只读权限。

    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"
    

    替换以下内容:

    • DATASET_ID:包含相应表的数据集的 ID。
    • TABLE_ID:要分析的表的 ID。
    • service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com:Knowledge Catalog 服务账号的电子邮件地址。

网络要求

如需运行扫描,您必须在用于扫描的 VPC 子网上启用专用 Google 访问通道。如果您未指定子网,请确保您的默认子网已启用专用 Google 访问通道。

配置执行身份

默认情况下,数据分析扫描使用 Knowledge Catalog 服务代理运行。您可以替换此设置,以使用自定义服务账号或您自己的最终用户凭据 (EUC)。

使用自定义执行身份会改变扫描的结算方式。指定自定义执行身份后,与扫描相关的计算和存储费用将直接计入您的 BigQuery 项目,而不会使用标准的 Knowledge Catalog Premium SKU。

自定义执行身份所需的权限

如需配置自定义服务账号或使用最终用户凭据,您必须拥有以下额外的 IAM 权限:

  • 如需使用自定义服务账号,您需要以下权限:
    • 为包含服务账号的项目(例如 roles/iam.serviceAccountUser)授予的 iam.serviceAccounts.actAs 权限。
    • 您项目的服务代理 (service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) 需要对自定义服务账号拥有 iam.serviceAccounts.getAccessToken 权限(例如,通过拥有 roles/iam.serviceAccountTokenCreator 角色)。
    • 自定义服务账号需要对表具有 bigquery.tables.getData 权限才能扫描,需要对扫描项目具有 bigquery.jobs.insert 权限,并且需要对导出数据集具有 bigquery.dataEditor 权限(如果使用导出功能)。
  • 如需使用最终用户凭据,您需要:
    • bigquery.tables.getData 扫描表。
    • 扫描项目中的 bigquery.jobs.insert。
    • 导出数据集中的 bigquery.dataEditor(如果使用导出)。

如需配置执行身份,请选择以下选项之一:

控制台

如需在 Google Cloud 控制台中配置执行身份,请在创建数据分析扫描时选择相应身份。

在执行身份部分中,选择以下选项之一:

  • Dataplex 服务账号:默认行为。
  • 特定服务账号:输入您要使用的服务账号的电子邮件地址。
  • 用户凭据:使用您自己的凭据运行扫描。

REST

如需使用自定义服务账号,请在 create 请求期间将 executionIdentity 对象添加到 DataScan 资源定义中:

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

替换以下内容:

  • YOUR_SERVICE_ACCOUNT_EMAIL:您要使用的服务账号的电子邮件地址。

如需使用最终用户凭据,请改用 userCredential 对象:

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

创建数据分析扫描

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击创建数据分析扫描。

  3. 可选:输入显示名称。

  4. 输入 ID。请参阅资源命名惯例。

  5. (可选)输入说明。

  6. 在表字段中,点击浏览。选择要扫描的表,然后点击选择。仅支持标准 BigQuery、Iceberg REST Catalog、SAP BDC Delta Lake 和 Apache Hive on Lakehouse 表。 Google Cloud

    对于多区域数据集中的表,请选择要在其中创建数据扫描的区域。

    如需浏览在 Knowledge Catalog 数据湖中整理的表,请点击在 Knowledge Catalog 数据湖中浏览。

  7. 在模式部分中,选择以下选项之一:

    • 标准版:使用可自定义的扫描设置分析数据。此为默认模式。

    • 轻量级:通过低延迟、低保真度的扫描提供快速分析。

  8. 如果您选择了标准模式,请配置以下选项。选择轻量级模式时,系统不会显示这些选项。

    1. 在范围字段中,选择增量或所有数据。

      如果您选择增量数据,请在时间戳列字段中,从 BigQuery 表中选择类型为 DATE 或 TIMESTAMP 的列。Knowledge Catalog 使用此列来识别添加的新记录。对于按 DATE 或 TIMESTAMP 类型的列进行分区的表,建议将此列用作分区列。

    2. 可选:如需过滤数据,请执行以下任一操作:

      • 如需按行过滤,请选中过滤行复选框。 输入一个有效的 SQL 表达式,该表达式可用于 GoogleSQL 语法中的 WHERE 子句。例如:col1 >= 0。

        过滤条件可以是多个列的 SQL 条件的组合。例如:col1 >= 0 AND col2 < 10。

      • 如需按列过滤,请选中过滤列复选框。

      • 如需在数据分析扫描中包含列,请在包含列字段中点击浏览。选择要添加的列,然后点击选择。

      • 如需从数据分析扫描中排除列,请在排除列字段中点击浏览。选择要排除的列,然后点击选择。

    3. 如需对数据分析扫描应用采样,请在采样规模列表中选择采样百分比。选择一个范围介于 0.0% 到 100.0% 之间的百分比值,最多精确到小数点后 3 位。

      • 对于较大的数据集,请选择一个较低的采样百分比。例如,对于一个 1 PB 的表,如果您输入的值介于 0.1% 到 1.0% 之间,则数据分析会采样 1-10 TB 的数据。

      • 采样数据中必须至少有 100 条记录才能返回结果。

      • 对于增量数据扫描,数据分析扫描会对最新增量应用采样。

  9. 可选:在Google Cloud 控制台中源表的 BigQuery 和 Knowledge Catalog 页面中发布数据分析扫描结果。选中将结果发布到 Knowledge Catalog 复选框。

    您可以在源表的 BigQuery 和 Knowledge Catalog 页面中的数据分析标签页上查看最新扫描结果。如需使用户能够访问已发布的扫描结果,请参阅本文档的授予对数据分析扫描结果的访问权限部分。

    在以下情况下,发布选项可能不可用:

    • 您没有相应表的所需权限。
    • 另一数据分析扫描已设置为发布结果。
  10. 在时间表部分中,选择以下选项之一:

    • 重复:按时间表(每小时、每天、每周、每月或自定义)运行数据分析扫描。指定扫描的运行频率和时间。如果您选择自定义,请使用 cron 格式指定时间表。

    • 按需:按需运行数据分析扫描。

    • 一次性运行:立即运行一次数据分析扫描,并在自动删除时间过后移除该扫描。此功能处于预览版阶段。

      • 设置扫描后结果自动删除:自动删除时间用于定义数据配置文件扫描在执行后保持有效的时间。未指定自动删除时间的数据配置文件扫描会在 24 小时后自动移除。自动删除时间可以介于 0 秒(立即删除)到 365 天之间。
  11. 点击继续。

  12. 可选:将扫描结果导出到 BigQuery 标准表。在将扫描结果导出到 BigQuery 表部分中,执行以下操作:

    1. 在选择 BigQuery 数据集字段中,点击浏览。选择一个 BigQuery 数据集,用于存储数据分析扫描结果。

    2. 在 BigQuery 表字段中,指定用于存储数据分析扫描结果的表。如果您使用的是现有表,请确保该表与导出表架构兼容。如果指定的表不存在,Knowledge Catalog 会为您创建该表。

  13. 可选:添加标签。标签是键值对,可用于将相关对象组合在一起或者与其他 Google Cloud 资源组合在一起。

  14. 如需创建扫描,请点击创建。

    如果您将时间表设置为“按需”,还可以点击运行扫描立即运行扫描。

gcloud

如需创建数据分析扫描,请使用 gcloud dataplex datascans create data-profile 命令。

如果源数据在 Knowledge Catalog 数据湖中整理,请添加 --data-source-entity 标志:

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

如果源数据未在 Knowledge Catalog 数据湖中整理,请添加 --data-source-resource 标志:

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

执行以下变量替换操作:

  • DATASCAN:数据分析扫描的名称。
  • LOCATION:要在其中创建数据分析扫描的 Google Cloud 区域。
  • DATA_SOURCE_ENTITY:包含数据分析扫描所用数据的 Knowledge Catalog 实体。例如 projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity。
  • DATA_SOURCE_RESOURCE:包含数据分析扫描所用数据的资源的名称。例如 //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table。

C#

C#

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。


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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# 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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

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

如需创建数据分析扫描,请使用 dataScans.create 方法。

导出表架构

如果您要将数据分析扫描结果导出到现有 BigQuery 表,请确保该表与以下表架构兼容:

列名 列数据类型 子字段名称(如果适用) 子字段数据类型 模式 示例
data_profile_scan struct/record resource_name string nullable //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string nullable test-project
location string nullable us-central1
data_scan_id string nullable test-datascan
data_source struct/record resource_name string nullable

实体用例: //dataplex.googleapis.com/projects/test-project/locations/europe-west2/lakes/test-lake/zones/test-zone/entities/test-entity

表用例: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table

dataplex_entity_project_id string nullable test-project
dataplex_entity_project_number integer nullable 123456789012
dataplex_lake_id string nullable

(仅在来源为实体时有效)

test-lake

dataplex_zone_id string nullable

(仅在来源为实体时有效)

test-zone

dataplex_entity_id string nullable

(仅在来源为实体时有效)

test-entity

table_project_id string nullable dataplex-table
table_project_number int64 nullable 345678901234
dataset_id string nullable

(仅在来源为表时有效)

test-dataset

table_id string nullable

(仅在来源为表时有效)

test-table

data_profile_job_id string nullable caeba234-cfde-4fca-9e5b-fe02a9812e38
data_profile_job_configuration json trigger string nullable ondemand/schedule
incremental boolean nullable true/false
sampling_percent float nullable

(0-100)

20.0(表示 20%)

row_filter string nullable col1 >= 0 AND col2 < 10
column_filter json nullable {"include_fields":["col1","col2"], "exclude_fields":["col3"]}
job_labels json nullable {"key1":value1}
job_start_time timestamp nullable 2023-01-01 00:00:00 UTC
job_end_time timestamp nullable 2023-01-01 00:00:00 UTC
job_rows_scanned integer nullable 7500
column_name string nullable column-1
column_type string nullable string
column_mode string nullable repeated
percent_null float nullable

(0.0-100.0)

20.0(表示 20%)

percent_unique float nullable

(0.0-100.0)

92.5

min_string_length integer nullable

(仅在列类型为字符串时有效)

10

max_string_length integer nullable

(仅在列类型为字符串时有效)

4

average_string_length float nullable

(仅在列类型为字符串时有效)

7.2

min_value float nullable (仅在列类型为数值时有效 - 整数/浮点数)
max_value float nullable (仅在列类型为数值时有效 - 整数/浮点数)
average_value float nullable (仅在列类型为数值时有效 - 整数/浮点数)
standard_deviation float nullable (仅在列类型为数值时有效 - 整数/浮点数)
quartile_lower integer nullable (仅在列类型为数值时有效 - 整数/浮点数)
quartile_median integer nullable (仅在列类型为数值时有效 - 整数/浮点数)
quartile_upper integer nullable (仅在列类型为数值时有效 - 整数/浮点数)
top_n struct/record - repeated value string nullable "4009"
count integer nullable 20
percent float nullable 10(表示 10%)

导出表设置

将数据导出到 BigQueryExport 表时,请遵循以下准则:

  • 对于字段 resultsTable,请使用以下格式://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}。
  • 使用 BigQuery 标准表。
  • 如果在创建或更新扫描时该表不存在,Knowledge Catalog 会为您创建该表。
  • 默认情况下,该表按 job_start_time 列每天进行分区。
  • 如果您希望以其他配置对表进行分区,或者不希望进行分区,请使用所需的架构和配置重新创建表,然后将预先创建的表作为结果表提供。
  • 请确保结果表与源表位于同一位置。
  • 如果为项目配置了 VPC-SC,则结果表必须与源表位于同一 VPC-SC 边界内。
  • 如果在扫描执行阶段修改了表,则当前正在运行的作业会导出到之前的结果表,并且表更改会从下一个扫描作业开始生效。
  • 请勿修改表架构。如果您需要自定义列,请基于表创建视图。
  • 为了降低费用,请根据您的应用场景为分区设置失效时间。如需了解详情,请参阅如何设置分区失效时间。

创建多个数据分析扫描

您可以使用 Google Cloud 控制台,同时为 BigQuery 数据集中的多个表配置数据分析扫描。

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击创建数据分析扫描。

  3. 选择多次数据分析扫描选项。

  4. 输入 ID 前缀。Knowledge Catalog 会使用提供的前缀和唯一后缀自动生成扫描 ID。

  5. 为所有数据分析扫描输入说明。

  6. 在数据集字段中,点击浏览。选择一个数据集以从中选择表。点击选择。

  7. 如果数据集是多区域级数据集,请选择要在其中创建数据分析扫描的区域。

  8. 在模式部分中,选择以下选项之一:

    • 标准版:使用可自定义的扫描设置分析数据。此为默认模式。

    • 轻量级:通过低延迟、低保真度的扫描提供快速洞见。此功能处于预览版阶段。

  9. 如果您选择了标准模式,请为扫描配置以下设置。选择轻量级模式时,系统不会显示这些设置。

    1. 在范围字段中,选择增量或所有数据。

      如果您选择增量数据,则只能选择按 DATE 或 TIMESTAMP 类型的列进行分区的表。

    2. 如需对数据分析扫描应用采样,请在采样规模列表中选择采样百分比。

      选择一个介于 0.0% 到 100.0% 之间的百分比值,最多精确到小数点后 3 位。

  10. 可选:在Google Cloud 控制台中源表的 BigQuery 和 Knowledge Catalog 页面中发布数据分析扫描结果。选中将结果发布到 Knowledge Catalog 复选框。

    您可以在源表的 BigQuery 和 Knowledge Catalog 页面中的数据分析标签页上查看最新扫描结果。如需允许用户访问已发布的扫描结果,请参阅本文档的授予对数据分析扫描结果的访问权限部分。

  11. 在时间表部分中,选择以下选项之一:

    • 重复:按时间表(每小时、每天、每周、每月或自定义)运行数据分析扫描。指定扫描的运行频率和时间。如果您选择自定义,请使用 cron 格式指定时间表。

    • 按需:按需运行数据分析扫描。

      • 一次性运行:立即运行一次数据分析扫描,并在自动删除时间过后移除该扫描。此功能处于预览版阶段。

        • 设置扫描后结果自动删除:自动删除时间用于定义数据配置文件扫描在执行后保持有效的时间。未指定自动删除时间的数据配置文件扫描会在 24 小时后自动移除。自动删除时间可以介于 0 秒(立即删除)到 365 天之间。
  12. 点击继续。

  13. 在选择表字段中,点击浏览。选择一个或多个要扫描的表,然后点击选择。

  14. 点击继续。

  15. 可选:将扫描结果导出到 BigQuery 标准表。在将扫描结果导出到 BigQuery 表部分中,执行以下操作:

    1. 在选择 BigQuery 数据集字段中,点击浏览。选择一个 BigQuery 数据集,用于存储数据分析扫描结果。

    2. 在 BigQuery 表字段中,指定用于存储数据分析扫描结果的表。如果您使用的是现有表,请确保该表与导出表架构兼容。如果指定的表不存在,Knowledge Catalog 会为您创建该表。

      Knowledge Catalog 会为所有数据分析扫描使用同一结果表。

  16. 可选:添加标签。标签是键值对,可用于将相关对象组合在一起或者与其他 Google Cloud 资源组合在一起。

  17. 如需创建扫描,请点击创建。

    如果您将时间表设置为“按需”,还可以点击运行扫描立即运行扫描。

运行数据分析扫描

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击要运行的数据分析扫描。
  3. 点击立即运行。

gcloud

如需运行数据分析扫描,请使用 gcloud dataplex datascans run 命令:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION

执行以下变量替换操作:

  • DATASCAN:数据分析扫描的名称。
  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。

C#

C#

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for RunDataScan</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 RunDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        RunDataScanRequest request = new RunDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
        };
        // Make the request
        RunDataScanResponse response = dataScanServiceClient.RunDataScan(request);
    }
}

Go

Go

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。


//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.RunDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#RunDataScanRequest.
	}
	resp, err := c.RunDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.RunDataScanRequest;
import com.google.cloud.dataplex.v1.RunDataScanResponse;

public class SyncRunDataScan {

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

  public static void syncRunDataScan() 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()) {
      RunDataScanRequest request =
          RunDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      RunDataScanResponse response = dataScanServiceClient.runDataScan(request);
    }
  }
}

Python

Python

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# 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_run_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.RunDataScanRequest(
        name="name_value",
    )

    # Make the request
    response = client.run_data_scan(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

require "google/cloud/dataplex/v1"

##
# Snippet for the run_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#run_data_scan.
#
def run_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::RunDataScanRequest.new

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

  # The returned object is of type Google::Cloud::Dataplex::V1::RunDataScanResponse.
  p result
end

REST

如需运行数据分析扫描,请使用 dataScans.run 方法。

Airflow

如需在 Managed Service for Apache Airflow (Cloud Composer) 中使用有向无环图 (DAG) 运行数据剖析扫描,请使用 DataplexRunDataProfileScanOperator:

from datetime import datetime
from airflow import DAG
from airflow.providers.google.cloud.operators.dataplex import DataplexRunDataProfileScanOperator

with DAG(
  "dataplex_data_profile_scan",
  start_date=datetime(2026, 1, 1),
  schedule_interval="@daily",
  catchup=False,
) as dag:

  run_profile_scan = DataplexRunDataProfileScanOperator(
      task_id="run_dataplex_profile_scan",
      project_id="PROJECT_ID",
      region="REGION",
      data_scan_id="DATASCAN_ID",
  )

执行以下变量替换操作:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • REGION:在其中创建数据分析扫描的 Google Cloud 区域。
  • DATASCAN_ID:数据分析扫描的 ID。

取消数据分析扫描作业

如果数据分析扫描作业的运行时间超出预期,或者启动时配置不正确,您可以取消该作业。这是一项尽力而为的操作。如果作业已处于终止状态(例如 SUCCEEDED 或 FAILED),则系统会忽略取消请求。

所需的角色和权限

如需获得取消数据分析扫描作业所需的权限,请让您的管理员为您授予项目的 Dataplex Editor (roles/dataplex.editor) 或 Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) IAM 角色。

取消作业

您可以使用 REST API 取消正在运行或待处理的数据剖析扫描作业。

控制台

  1. 在 Google Cloud 控制台中,前往数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击包含要取消的作业的数据分析扫描的名称。

  3. 在作业历史记录标签页中,找到状态为正在运行或待处理的作业。

  4. 点击与相应作业关联的取消按钮。

REST

使用 projects.locations.dataScans.jobs.cancel 方法。

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

替换以下内容:

  • PROJECT_ID:项目 ID。
  • LOCATION:数据扫描所在的区域。
  • DATASCAN_ID:数据扫描的 ID。
  • JOB_ID:要取消的作业的 ID。

查看数据分析扫描结果

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击数据分析扫描的名称。

    • 概览部分显示有关最近作业的信息,包括扫描运行时间、扫描的表记录数以及作业状态。

    • 数据分析扫描配置部分显示有关扫描的详细信息。

  3. 如需查看有关作业的详细信息,例如扫描表的列、扫描中发现的列的统计信息以及作业日志,请点击作业历史记录标签页。然后,点击作业 ID。

gcloud

如需查看数据分析扫描作业的结果,请使用 gcloud dataplex datascans jobs describe 命令:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

执行以下变量替换操作:

  • JOB:数据分析扫描作业的作业 ID。
  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。
  • DATASCAN:作业所属的数据分析扫描的名称。
  • --view=FULL:如需查看扫描作业结果,请指定 FULL。

C#

C#

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for GetDataScan</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 GetDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        GetDataScanRequest request = new GetDataScanRequest
        {
            DataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            View = GetDataScanRequest.Types.DataScanView.Unspecified,
        };
        // Make the request
        DataScan response = dataScanServiceClient.GetDataScan(request);
    }
}

Go

Go

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。


//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.GetDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#GetDataScanRequest.
	}
	resp, err := c.GetDataScan(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.GetDataScanRequest;

public class SyncGetDataScan {

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

  public static void syncGetDataScan() 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()) {
      GetDataScanRequest request =
          GetDataScanRequest.newBuilder()
              .setName(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .build();
      DataScan response = dataScanServiceClient.getDataScan(request);
    }
  }
}

Python

Python

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# 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_get_data_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.GetDataScanRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_data_scan(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

require "google/cloud/dataplex/v1"

##
# Snippet for the get_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#get_data_scan.
#
def get_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::GetDataScanRequest.new

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

  # The returned object is of type Google::Cloud::Dataplex::V1::DataScan.
  p result
end

REST

如需查看数据分析扫描的结果,请使用 dataScans.get 方法。

查看已发布的结果

如果数据分析扫描结果发布到 Google Cloud 控制台中的 BigQuery 和 Knowledge Catalog 页面,则您可以在源表的数据分析标签页中查看最新扫描结果。

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 搜索并选择表格。

  3. 点击数据分析标签页。

    系统会显示最新发布的结果。

查看最近数据分析扫描作业

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击数据分析扫描的名称。

  3. 点击最新作业结果标签页。

    如果至少有一次成功完成的运行,最新作业结果标签页会提供有关最近作业的信息。该标签页会列出已扫描的表列,以及在扫描中发现的列的相关统计信息。

gcloud

如需查看最近成功的数据分析扫描,请使用 gcloud dataplex datascans describe 命令:

gcloud dataplex datascans describe DATASCAN \
--location=LOCATION \
--view=FULL

执行以下变量替换操作:

  • DATASCAN:要查看其最近作业的数据分析扫描的名称。
  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。
  • --view=FULL:如需查看扫描作业结果,请指定 FULL。

REST

如需查看最近扫描作业,请使用 dataScans.get 方法。

查看历史扫描结果

Knowledge Catalog 会保存最近 300 个作业或过去一年(以先到者为准)的数据分析扫描历史记录。

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击数据分析扫描的名称。

  3. 点击作业历史记录标签页。

    作业历史记录标签页提供有关过去作业的信息,例如每个作业中扫描的记录数、作业状态以及作业运行时间。

  4. 如需查看有关作业的详细信息,请点击作业 ID 列中的任何作业。

gcloud

如需查看历史数据分析扫描作业,请使用 gcloud dataplex datascans jobs list 命令:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN

执行以下变量替换操作:

  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。
  • DATASCAN:要查看作业的数据分析扫描的名称。

C#

C#

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

using Google.Api.Gax;
using Google.Cloud.Dataplex.V1;
using System;

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for ListDataScanJobs</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 ListDataScanJobsRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        ListDataScanJobsRequest request = new ListDataScanJobsRequest
        {
            ParentAsDataScanName = DataScanName.FromProjectLocationDataScan("[PROJECT]", "[LOCATION]", "[DATASCAN]"),
            Filter = "",
        };
        // Make the request
        PagedEnumerable<ListDataScanJobsResponse, DataScanJob> response = dataScanServiceClient.ListDataScanJobs(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (DataScanJob item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (ListDataScanJobsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (DataScanJob item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        }

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<DataScanJob> singlePage = response.ReadPage(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (DataScanJob item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

Go

Go

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。


//go:build examples

package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
	"google.golang.org/api/iterator"
)

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.ListDataScanJobsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListDataScanJobsRequest.
	}
	it := c.ListDataScanJobs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*dataplexpb.ListDataScanJobsResponse)
	}
}

Java

Java

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

import com.google.cloud.dataplex.v1.DataScanJob;
import com.google.cloud.dataplex.v1.DataScanName;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.ListDataScanJobsRequest;

public class SyncListDataScanJobs {

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

  public static void syncListDataScanJobs() 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()) {
      ListDataScanJobsRequest request =
          ListDataScanJobsRequest.newBuilder()
              .setParent(DataScanName.of("[PROJECT]", "[LOCATION]", "[DATASCAN]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setFilter("filter-1274492040")
              .build();
      for (DataScanJob element : dataScanServiceClient.listDataScanJobs(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Python

Python

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# 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_list_data_scan_jobs():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.ListDataScanJobsRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_data_scan_jobs(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Ruby

Ruby

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

require "google/cloud/dataplex/v1"

##
# Snippet for the list_data_scan_jobs 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#list_data_scan_jobs.
#
def list_data_scan_jobs
  # 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::ListDataScanJobsRequest.new

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

  # The returned object is of type Gapic::PagedEnumerable. You can iterate
  # over elements, and API calls will be issued to fetch pages as needed.
  result.each do |item|
    # Each element is of type ::Google::Cloud::Dataplex::V1::DataScanJob.
    p item
  end
end

REST

如需查看历史数据分析扫描作业,请使用 dataScans.jobs.list 方法。

作业状态

数据扫描作业可能具有以下状态:

  • PENDING:作业已创建但尚未开始运行。在此状态下,扫描会主动设置基础设施或获取 slot。此阶段可能需要 10 到 20 秒或更长时间,具体取决于架构复杂性和资源争用情况。

  • RUNNING:作业正在运行。

  • CANCELING:作业正在取消。

  • CANCELLED:作业已成功取消。

  • SUCCEEDED:作业成功完成。由于存在后期处理步骤(例如聚合和元数据同步),完成状态可能会比实际查询完成时间晚最多 60 秒。

  • FAILED:作业因错误而失败。由于存在后期处理步骤(例如聚合和元数据同步),完成状态可能会比实际查询完成时间晚最多 60 秒。

  • SUCCEEDED_WITH_ERRORS:作业成功完成,但在执行期间出现了一些错误。

监控最佳实践

在监控数据扫描作业时,请牢记以下最佳实践:

  • 避免频繁轮询:避免频繁轮询(例如,每 1 到 5 秒调用一次 GetJob 或等效函数)。频繁轮询会浪费 API 配额,并且不会加快状态转换。

  • 使用指数退避算法:如果无法避免重复轮询,请使用指数退避算法,从 10 到 15 秒开始。

  • 使用异步事件驱动型解耦(推荐):使用侦听 Cloud Audit Logs (cloudaudit.googleapis.com) 的 Eventarc 触发器,而不是同步 API 轮询。您可以使用这些触发器在 DataScan 作业完成事件发生后立即启动下游工作流。这种方法可绕过 API 轮询限制,节省配额并缩短感知延迟时间。

授予对数据分析扫描结果的访问权限

如需让贵组织中的用户查看扫描结果,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击您要共享其结果的数据分析扫描。

  3. 点击权限标签页。

  4. 执行以下操作:

    • 如需向主账号授予访问权限,请点击 授予访问权限。向关联的主账号授予 Dataplex DataScan DataViewer 角色。
    • 如需移除主账号的访问权限,请选择要从中移除 Dataplex DataScan DataViewer 角色的主账号。点击 移除访问权限,然后在系统提示时进行确认。

管理特定表的数据分析扫描

本文档中的步骤介绍了如何使用 Google Cloud 控制台中的 Knowledge Catalog 数据分析和质量评估页面来管理项目中的数据分析扫描。

您还可以在使用特定表时创建和管理数据分析扫描。在 Google Cloud 控制台中,在相应表的 Knowledge Catalog 页面上,使用数据分析标签页。执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

    搜索并选择表格。

  2. 点击数据分析标签页。

  3. 根据表是否具有已发布结果的数据分析扫描,您可以通过以下方式处理表的数据分析扫描:

    • 数据分析扫描结果已发布:页面上会显示最新发布的扫描结果。

      如需管理此表的数据分析扫描,请点击数据分析扫描,然后从以下选项中进行选择:

      • 创建新扫描:创建新的数据分析扫描。如需了解详情,请参阅本文档中的创建数据分析扫描部分。从表的详情页面创建扫描时,系统会预先选择该表。

      • 立即运行:运行扫描。

      • 修改扫描配置:修改设置,包括显示名称、过滤条件、采样规模和时间表。

      • 管理扫描权限:控制哪些人可以访问扫描结果。 如需了解详情,请参阅本文档的授予对数据分析扫描结果的访问权限部分。

      • 查看历史结果:查看之前的数据分析扫描作业的详细信息。如需了解详情,请参阅本文档中的查看数据分析扫描结果和查看历史扫描结果部分。

      • 查看所有扫描:查看适用于相应表的数据分析扫描列表。

    • 数据分析扫描结果未发布:点击快速数据分析旁边的菜单,然后从以下选项中进行选择:

      • 自定义数据分析:创建新的数据分析扫描。如需了解详情,请参阅本文档中的创建数据分析扫描部分。从表的详情页面创建扫描时,系统会预先选择该表。

      • 查看先前的分析:查看适用于此表的数据分析扫描的列表。

更新数据分析扫描

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击数据分析扫描的名称。

  3. 点击修改,然后修改相应值。

  4. 点击保存。

gcloud

如需更新数据分析扫描,请使用 gcloud dataplex datascans update data-profile 命令:

gcloud dataplex datascans update data-profile DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

执行以下变量替换操作:

  • DATASCAN:要更新的数据分析扫描的名称。
  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。
  • DESCRIPTION:数据分析扫描的新说明。

C#

C#

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

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

public sealed partial class GeneratedDataScanServiceClientSnippets
{
    /// <summary>Snippet for UpdateDataScan</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 UpdateDataScanRequestObject()
    {
        // Create client
        DataScanServiceClient dataScanServiceClient = DataScanServiceClient.Create();
        // Initialize request argument(s)
        UpdateDataScanRequest request = new UpdateDataScanRequest
        {
            DataScan = new DataScan(),
            UpdateMask = new FieldMask(),
            ValidateOnly = false,
        };
        // Make the request
        Operation<DataScan, OperationMetadata> response = dataScanServiceClient.UpdateDataScan(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.PollOnceUpdateDataScan(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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Go API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。


//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.UpdateDataScanRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#UpdateDataScanRequest.
	}
	op, err := c.UpdateDataScan(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

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Java API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

import com.google.cloud.dataplex.v1.DataScan;
import com.google.cloud.dataplex.v1.DataScanServiceClient;
import com.google.cloud.dataplex.v1.UpdateDataScanRequest;
import com.google.protobuf.FieldMask;

public class SyncUpdateDataScan {

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

  public static void syncUpdateDataScan() 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()) {
      UpdateDataScanRequest request =
          UpdateDataScanRequest.newBuilder()
              .setDataScan(DataScan.newBuilder().build())
              .setUpdateMask(FieldMask.newBuilder().build())
              .setValidateOnly(true)
              .build();
      DataScan response = dataScanServiceClient.updateDataScanAsync(request).get();
    }
  }
}

Python

Python

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Python API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

# 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_scan():
    # Create a client
    client = dataplex_v1.DataScanServiceClient()

    # Initialize request argument(s)
    data_scan = dataplex_v1.DataScan()
    data_scan.data.entity = "entity_value"

    request = dataplex_v1.UpdateDataScanRequest(
        data_scan=data_scan,
    )

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

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

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog Ruby API 参考文档。

如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。

require "google/cloud/dataplex/v1"

##
# Snippet for the update_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#update_data_scan.
#
def update_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::UpdateDataScanRequest.new

  # Call the update_data_scan method.
  result = client.update_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

如需修改数据分析扫描,请使用 dataScans.patch 方法。

删除数据分析扫描

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 数据分析和质量评估页面。

    前往“数据分析和质量评估”

  2. 点击要删除的扫描。

  3. 点击删除,然后在系统提示时进行确认。

gcloud

如需删除数据分析扫描,请使用 gcloud dataplex datascans delete 命令:

gcloud dataplex datascans delete DATASCAN \
--location=LOCATION --async

执行以下变量替换操作:

  • DATASCAN:要删除的数据分析扫描的名称。
  • LOCATION:在其中创建数据分析扫描的 Google Cloud 区域。

REST

如需删除数据分析扫描,请使用 dataScans.delete 方法。

后续步骤