データ プロファイル スキャンを作成して使用する

Knowledge Catalog(旧称 Dataplex Universal Catalog)を使用すると、BigQuery テーブル内の列の一般的な統計的特性(一般的な値、データ分布、NULL 数)を特定できます。この情報は、データをより効果的に理解、分析するために活用できます。

Knowledge Catalog データ プロファイル スキャンの詳細については、データ プロファイリングの概要をご覧ください。

始める前に

Dataplex API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

API の有効化

必要なロールと権限

このセクションでは、Knowledge Catalog のデータ プロファイル スキャンを使用するために必要な IAM ロールと権限について説明します。

ユーザーの役割と権限

データ プロファイル スキャンの作成と管理に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

  • データ プロファイル スキャンを作成、実行、更新、削除する: データスキャンのあるプロジェクトに対する Dataplex DataScan 編集者 roles/dataplex.dataScanEditor
  • データ プロファイル スキャンの結果、ジョブ、履歴を表示する: データスキャンのあるプロジェクトに対する Dataplex DataScan 閲覧者 roles/dataplex.dataScanViewer
  • データ プロファイル スキャン結果を Knowledge Catalog に公開する: @bigquery エントリ グループに対する Dataplex Catalog 編集者 roles/dataplex.catalogEditor
  • BigQuery での公開されたデータ プロファイル スキャン結果を [データ プロファイル] タブで表示する: テーブルに対する BigQuery データ閲覧者 roles/bigquery.dataViewer
  • データ プロファイル スキャンを実行する:
  • Cloud Storage データを使用する BigQuery 外部テーブルに対してデータ プロファイル スキャンを実行する:
  • Google Cloud Lakehouse の Iceberg REST カタログ、SAP BDC Delta Lake、Apache Hive テーブルに対してデータ プロファイル スキャンを実行する: スキャン対象のテーブルに対する BigLake 閲覧者 roles/biglake.viewer
  • データ プロファイル スキャン結果を BigQuery テーブルにエクスポートする: テーブルに対する BigQuery データ編集者 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 サービス アカウントのロールと権限

選択した実行 ID(デフォルトの Knowledge Catalog サービス エージェント、カスタム サービス アカウント、エンドユーザーの認証情報)に関係なく、その ID には、バックエンドでデータ プロファイル スキャンジョブを実行して結果をエクスポートするために、次のロールと権限が必要です。

実行 ID にデータ プロファイル スキャンを実行して結果をエクスポートするために必要な権限が付与されるように、次の IAM ロールを実行 ID に付与するよう管理者に依頼してください。

  • データ プロファイル スキャンを実行する:
  • Cloud Storage データを使用する BigQuery 外部テーブルのデータ プロファイル スキャンを実行する:
  • Google Cloud Lakehouse で Iceberg REST Catalog、SAP BDC Delta Lake、Apache Hive テーブルのデータ プロファイル スキャンを実行する: スキャン対象のテーブルに対する BigLake 閲覧者 roles/biglake.viewer
  • データ プロファイル スキャン結果を BigQuery テーブルにエクスポートする: テーブルに対する BigQuery データ編集者 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

管理者は、カスタムロールや他の事前定義ロールを使用して、これらの権限を実行 ID に付与することもできます。

テーブルで BigQuery の行レベルのセキュリティが使用されている場合、Knowledge Catalog は Knowledge Catalog サービス アカウントに表示される行のみをスキャンできます。Knowledge Catalog で全行をスキャンできるようにするには、述語が TRUE の行フィルタに Knowledge Catalog サービス アカウントを追加します。

テーブルで BigQuery の列レベルのセキュリティが使用されている場合、保護された列をスキャンするためのアクセス権が Knowledge Catalog に必要です。アクセス権を付与するには、Knowledge Catalog サービス アカウントに、テーブルで使用されているすべてのポリシータグに対する Data Catalog のきめ細かい読み取りroles/datacatalog.fineGrainedReader)ロールを付与します。データスキャンを作成または更新しているユーザーには、保護された列に対する権限も必要です。

Knowledge Catalog サービス アカウントにロールを付与する

データ プロファイル スキャンを実行するには、Knowledge Catalog で使用されるサービス アカウントに、BigQuery ジョブの実行と BigQuery テーブルデータの読み取りの権限が必要です。必要なロールを付与する手順は次のとおりです。

  1. Knowledge Catalog サービス アカウントのメールアドレスを取得します。対象のプロジェクトで、まだデータ プロファイル スキャンまたはデータ品質スキャンを作成していない場合は、次の gcloud コマンドを実行してサービス ID を生成します。

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

    このコマンドは、service-PROJECT_ID@gcp-sa-dataplex.iam.gserviceaccount.comという形式のサービス アカウントのメールアドレスを返します。

    サービス アカウントがすでに存在する場合は、Google Cloud コンソールの IAM ページDataplex 名のプリンシパルを表示すると、メールアドレスを確認できます。

  2. サービス アカウントに、プロジェクトに対する BigQuery ジョブユーザー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 データ閲覧者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 アクセスが有効になっていることを確認してください。

実行 ID を構成する

デフォルトでは、データ プロファイル スキャンは Knowledge Catalog サービス エージェントを使用して実行されます。これをオーバーライドして、カスタム サービス アカウントまたは独自のエンドユーザー認証情報(EUC)を使用できます。

カスタム実行 ID を使用すると、スキャンの請求方法が変わります。カスタム実行 ID を指定すると、スキャンに関連するコンピューティング費用とストレージ費用は、標準の Knowledge Catalog Premium SKU をバイパスして、BigQuery プロジェクトに直接請求されます。

カスタム実行 ID に必要な権限

カスタム サービス アカウントを構成するか、エンドユーザーの認証情報を使用するには、次の追加の IAM 権限が必要です。

  • カスタム サービス アカウントを使用するには、次の権限が必要です。
    • サービス アカウントを含むプロジェクトに付与された iam.serviceAccounts.actAs 権限(roles/iam.serviceAccountUser など)。
    • プロジェクトのサービス エージェント(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(エクスポートを使用している場合)。

実行 ID を構成するには、次のいずれかのオプションを選択します。

コンソール

Google Cloud コンソールで実行 ID を構成するには、データ プロファイル スキャンを作成するときに ID を選択します。

[実行 ID] セクションで、次のいずれかを選択します。

  • Dataplex サービス アカウント: デフォルトの動作。
  • 特定のサービス アカウント: 使用するサービス アカウントのメールアドレスを入力します。
  • ユーザー認証情報: 独自の認証情報を使用してスキャンを実行します。

REST

カスタム サービス アカウントを使用するには、create リクエスト中に DataScan リソース定義に executionIdentity オブジェクトを追加します。

"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 Google CloudLakehouse テーブルのみがサポートされています。

    マルチリージョン データセット内のテーブルの場合は、データスキャンを作成するリージョンを選択します。

    Knowledge Catalog レイク内で整理されたテーブルを参照するには、[Knowledge Catalog レイク内のブラウジング] をクリックします。

  7. [モード] セクションで、次のいずれかのオプションを選択します。

    • 標準: カスタマイズ可能なスキャン設定でデータをプロファイリングします。これがデフォルトのモードです。

    • 軽量: 低レイテンシの低忠実度スキャンで迅速な分析情報を提供します。

  8. [標準] モードを選択した場合は、次のオプションを構成します。[軽量] モードを選択すると、これらのオプションは表示されません。

    1. [スコープ] フィールドで、[増分] または [データ全体] を選択します。

      [増分データ] を選択した場合は、[タイムスタンプ列] フィールドで、BigQuery テーブルから DATE 型または TIMESTAMP 型の列を選択します。Knowledge Catalog は、この列を使用して、新しいレコードが追加されたときに識別します。DATE 型または TIMESTAMP 型の列でパーティション分割されたテーブルでは、この列をパーティション列として使用することをおすすめします。

    2. 省略可: データをフィルタするには、次のいずれかを行います。

      • 行でフィルタするには、[行のフィルタリング] チェックボックスをオンにします。GoogleSQL 構文の WHEREで使用できる有効な SQL 式を入力します。例: 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. [スケジュール] セクションで、次のいずれかのオプションを選択します。

    • 繰り返し: データ プロファイル スキャンを 1 時間ごと、毎日、毎週、毎月、カスタムのいずれかのスケジュールで実行します。スキャンの実行頻度と時間を指定します。[カスタム] を選択した場合は、cron 形式を使用してスケジュールを指定します。

    • オンデマンド: データ プロファイル スキャンをオンデマンドで実行します。

    • 1 回限りの実行: データ プロファイル スキャンを今すぐ 1 回実行し、自動削除後にスキャンを削除します。この機能はプレビュー版です。

      • スキャン後の結果の自動削除を設定する: 自動削除時間は、データ プロファイル スキャンが実行後にアクティブな状態を維持する期間を定義します。自動削除時間が指定されていないデータ プロファイル スキャンは、24 時間後に自動的に削除されます。自動削除の期間は 0 秒(即時削除)から 365 日の範囲で設定できます。
  11. [続行] をクリックします。

  12. 省略可: スキャン結果を BigQuery 標準テーブルにエクスポートします。[スキャン結果を BigQuery テーブルにエクスポートする] セクションで、次の操作を行います。

    1. [BigQuery データセットの選択] フィールドで、[参照] をクリックします。 データ プロファイルのスキャン結果を保存する BigQuery データセットを選択します。

    2. [BigQuery テーブル] フィールドで、データ プロファイル スキャンの結果を保存するテーブルを指定します。既存のテーブルを使用している場合は、エクスポート テーブル スキーマと互換性があることを確認してください。指定したテーブルが存在しない場合は、Knowledge Catalog によって作成されます。

  13. 省略可: ラベルを追加します。ラベルは、関連するオブジェクトをまとめてグループ化したり、他の Google Cloud リソースと組み合わせてグループ化できる Key-Value ペアです。

  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 null でも可 //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string null でも可 test-project
location string null でも可 us-central1
data_scan_id string null でも可 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 null でも可 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 null でも可 345678901234
dataset_id string nullable

(ソースがテーブルである場合にのみ有効)

test-dataset

table_id string nullable

(ソースがテーブルである場合にのみ有効)

test-table

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

(0-100)

20.0(20% を示す)

row_filter string nullable col1 >= 0 AND col2 < 10
column_filter json null でも可 {"include_fields":["col1","col2"], "exclude_fields":["col3"]}
job_labels json null でも可 {"key1":value1}
job_start_time timestamp null でも可 2023-01-01 00:00:00 UTC
job_end_time timestamp null でも可 2023-01-01 00:00:00 UTC
job_rows_scanned integer null でも可 7500
column_name string null でも可 column-1
column_type string null でも可 string
column_mode string null でも可 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 null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
max_value float null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
average_value float null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
standard_deviation float null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
quartile_lower integer null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
quartile_median integer null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
quartile_upper integer null でも可 (列の型が数値 - 整数 / 浮動小数点の場合のみ有効)
top_n struct/record - repeated value string null でも可 "4009"
count integer null でも可 20
percent float null でも可 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. [スケジュール] セクションで、次のいずれかのオプションを選択します。

    • 繰り返し: データ プロファイル スキャンを 1 時間ごと、毎日、毎週、毎月、カスタムのいずれかのスケジュールで実行します。スキャンの実行頻度と時間を指定します。[カスタム] を選択した場合は、cron 形式を使用してスケジュールを指定します。

    • オンデマンド: データ プロファイル スキャンをオンデマンドで実行します。

      • 1 回限りの実行: データ プロファイル スキャンを今すぐ 1 回実行し、自動削除後にスキャンを削除します。この機能はプレビュー版です。

        • スキャン後の結果の自動削除を設定する: 自動削除時間は、データ プロファイル スキャンが実行後にアクティブな状態を維持する期間を定義します。自動削除時間が指定されていないデータ プロファイル スキャンは、24 時間後に自動的に削除されます。自動削除の期間は 0 秒(即時削除)から 365 日の範囲で設定できます。
  12. [続行] をクリックします。

  13. [テーブルを選択] フィールドで、[参照] をクリックします。スキャンするテーブルを 1 つ以上選択し、[選択] をクリックします。

  14. [続行] をクリックします。

  15. 省略可: スキャン結果を BigQuery 標準テーブルにエクスポートします。[スキャン結果を BigQuery テーブルにエクスポートする] セクションで、次の操作を行います。

    1. [BigQuery データセットの選択] フィールドで、[参照] をクリックします。 データ プロファイルのスキャン結果を保存する BigQuery データセットを選択します。

    2. [BigQuery テーブル] フィールドで、データ プロファイル スキャンの結果を保存するテーブルを指定します。既存のテーブルを使用している場合は、エクスポート テーブル スキーマと互換性があることを確認してください。指定したテーブルが存在しない場合は、Knowledge Catalog によって作成されます。

      Knowledge Catalog は、すべてのデータ プロファイル スキャンに同じ結果テーブルを使用します。

  16. (省略可)ラベルを追加します。ラベルは、関連するオブジェクトをまとめてグループ化したり、他の Google Cloud リソースと組み合わせてグループ化できる Key-Value ペアです。

  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。

データ プロファイル スキャン ジョブをキャンセルする

データ プロファイル スキャンジョブが想定よりも長く実行されている場合や、誤った構成で開始された場合は、キャンセルできます。これはベスト エフォート型のオペレーションです。ジョブがすでに終了状態(SUCCEEDEDFAILED など)の場合、キャンセル リクエストは無視されます。

必要なロールと権限

データ プロファイル スキャン ジョブをキャンセルするために必要な権限を取得するには、プロジェクトに対する Dataplex 編集者roles/dataplex.editor)または Dataplex DataScan 管理者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. データ プロファイル スキャンの名前をクリックします。

    • [概要] セクションには、スキャンが実行された日時、スキャンされたテーブル レコードの数、ジョブのステータスなど、最新のジョブに関する情報が表示されます。

    • [Data profile scan configuration] セクションには、スキャンについての詳細が表示されます。

  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. [ジョブの最新結果] タブをクリックします。

    正常に完了した実行が少なくとも 1 つある場合、[ジョブの最新結果] タブには、最新のジョブに関する情報が表示されます。スキャンされたテーブルの列と、スキャンで検出された列に関する統計情報が一覧表示されます。

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 年間のジョブのいずれか早いほうのデータ プロファイル スキャンの履歴が保存されます。

コンソール

  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: ジョブは作成されていますが、まだ実行されていません。この状態では、スキャンはインフラストラクチャをアクティブに設定するか、スロットを取得します。このフェーズは、スキーマの複雑さとリソース競合に応じて 10 ~ 20 秒以上かかることがあります。

  • RUNNING: ジョブが実行中です。

  • CANCELING: ジョブはキャンセル中です。

  • CANCELLED: ジョブが正常にキャンセルされました。

  • SUCCEEDED: ジョブが正常に完了します。集計やメタデータの同期などの後処理ステップにより、完了ステータスが実際のクエリ完了から最大 60 秒遅れることがあります。

  • FAILED: エラーのためジョブが失敗します。集計やメタデータの同期などの後処理ステップにより、完了ステータスが実際のクエリ完了から最大 60 秒遅れることがあります。

  • SUCCEEDED_WITH_ERRORS: ジョブは正常に完了しましたが、実行中にエラーが発生しました。

モニタリングのベスト プラクティス

データスキャン ジョブをモニタリングする際は、次のベスト プラクティスを念頭に置いてください。

  • 積極的なポーリングを避ける: 積極的なポーリング(たとえば、1 ~ 5 秒ごとに GetJob または同等のものを呼び出す)を避けます。積極的なポーリングは API 割り当てを無駄にし、状態遷移を高速化しません。

  • 指数バックオフを使用する: 繰り返しポーリングが避けられない場合は、10 ~ 15 秒から始まる指数バックオフを使用します。

  • 非同期イベント ドリブン デカップリングを使用する(推奨): 同期 API ポーリングの代わりに、Cloud Audit Logs(cloudaudit.googleapis.com)をリッスンする Eventarc トリガーを使用します。これらのトリガーを使用して、DataScan ジョブ完了イベントが発生するとすぐにダウンストリーム ワークフローを開始できます。このアプローチでは、API ポーリングの上限を回避し、割り当てを節約し、認識されるレイテンシを短縮します。

データ プロファイル スキャンの結果へのアクセスを許可する

組織内のユーザーがスキャン結果を表示できるようにするには、次の操作を行います。

  1. Google Cloud コンソールで、Knowledge Catalog の [データのプロファイリングと品質] ページに移動します。

    [データのプロファイリングと品質] に移動

  2. 結果を共有するデータ プロファイル スキャンをクリックします。

  3. [権限] タブをクリックします。

  4. 手順は次のとおりです。

    • プリンシパルにアクセス権を付与するには、[ アクセス権を付与] をクリックします。関連するプリンシパルに Dataplex DataScan データ閲覧者ロールを付与します。
    • プリンシパルからアクセス権を削除するには、Dataplex DataScan データ閲覧者ロールを削除するプリンシパルを選択します。[ アクセス権を削除] をクリックし、プロンプトが表示されたら確定します。

特定のテーブルのデータ プロファイル スキャンを管理する

このドキュメントの手順では、 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 メソッドを使用します。

次のステップ