アスペクトを管理してメタデータを拡充する

このドキュメントでは、アスペクト タイプを作成して管理し、エントリにアスペクトをアノテーションする方法について説明します。

Dataplex Catalog は、一連の側面でエントリを記述します。追加のメタデータがあるエントリは、アスペクトとアスペクト タイプを使用して記述できます。

詳細については、Dataplex Catalog の概要をご覧ください。

アスペクト

アスペクトを使用すると、エントリ内のメタデータをキャプチャできます。エントリにアスペクトを追加すると、アセットを使用する必要があるすべてのユーザーにわかりやすいコンテキストを提供できます。アスペクトは、ビジネス メタデータ(データ分類など)と技術メタデータ(スキーマなど)を保存するために使用できます。

アスペクトは、個別のリソースではなく、エントリ リソースの一部と見なされます。アスペクトを変更する場合は、アスペクトを含むエントリを変更する必要があります。

アスペクトは、エントリの説明にはエントリレベルで、エントリ内の列の説明には列レベルで指定できます。

すべてのアスペクトは、アスペクト タイプのインスタンスです。アスペクト タイプは、アスペクトのテンプレートを定義します。すべてのアスペクト タイプには、一連のフィールドが含まれています。アスペクトを作成するときに、これらのフィールドの値を指定する必要があります。

特定のエントリには、アスペクト タイプごとに 1 つのアスペクトを関連付けることができます。エントリ列には、アスペクト タイプごとに複数のアスペクトを関連付けることができます。

アスペクトのカテゴリ

アスペクトは次のカテゴリに分類されます。

  • 必須アスペクト: エントリの作成時に必須のアスペクト。このようなアスペクトは、特定のエントリのエントリタイプによって定義されます。エントリタイプに属するすべてのエントリには、そのエントリタイプで定義されているすべての必須アスペクトが常に存在する必要があります。

    Dataplex は、システム エントリに必要なアスペクト(スキーマなど)を管理します。

    次の点にご注意ください。

    • 必須のアスペクトはエントリにのみ関連付けることができ、エントリの列には関連付けられません。

    • エントリから必須のアスペクトを削除することはできません。

    • システム エントリの必須アスペクトは読み取れますが、変更することはできません。

  • オプションのアスペクト: オプションのアスペクトは、エントリまたはエントリ列に関連付けることができます。オプションのアスペクトは、エントリの作成時に入力するか、後でエントリを更新して入力できます。

    オプションのアスペクトは、入力した後に削除できます。

アスペクト タイプ

アスペクト タイプは、アスペクトのテンプレートとして使用できる再利用可能なリソースです。

アスペクト タイプのカテゴリ

アスペクト タイプは次のカテゴリに分類されます。

  • カスタム アスペクト タイプ: Dataplex Catalog で作成するアスペクト タイプ。

  • システム アスペクト タイプ: Dataplex が提供、使用、管理するアスペクト タイプ。

    システム アスペクト タイプは、再利用可能と制限付きにさらに分類されます。次の表に、システム アスペクト タイプのカテゴリと、各カテゴリに Dataplex が提供するアスペクト タイプのリストを示します。

    システム アスペクト タイプのカテゴリ 説明 Dataplex が提供するアスペクト タイプ
    再利用可能なシステム アスペクト タイプ これらのアスペクト タイプを使用して、アスペクトを作成または変更できます。
    • generic
    • storage
    制限付きのシステム アスペクト タイプ これらのアスペクト タイプは Dataplex によって管理されます。
    これらのアスペクト タイプではアスペクトを読み取ることができますが、アスペクトの作成や編集はできません。
    • bigquery-connection
    • bigquery-dataset
    • bigquery-model
    • bigquery-routine
    • bigquery-table
    • bigquery-view
    • cloudsql-database
    • cloudsql-instance
    • cloudsql-schema
    • cloudsql-table
    • cloudsql-view
    • storage
    • sql-access
    • storage-bucket
    • storage-folder

アスペクト タイプはグローバルまたはリージョンです。カスタム アスペクト タイプは、特定のリージョン ロケーションまたはグローバル リソースとして作成できます。システム アスペクト タイプは常にグローバルです。

グローバル アスペクト タイプは、任意のリージョンのエントリのアスペクトを作成するために使用されます。グローバル アスペクト タイプのコンテンツは、すべてのリージョンに複製されます。地域のアスペクト タイプは、同じ地域内のエントリのアスペクトを作成するために使用されます。

アスペクト タイプのロケーションは、適用範囲に影響します。詳細については、プロジェクトとロケーションの制約をご覧ください。

始める前に

アスペクト タイプとアスペクトを作成し、管理する前に、このセクションで説明するタスクを完了してください。

必要なロール

アスペクト タイプとアスペクトを作成して管理するために必要な権限を取得するには、リソースに対する次の IAM ロールの付与を管理者に依頼してください。

  • アスペクト タイプを含むすべての Dataplex Catalog リソースに対する完全な権限: Dataplex Catalog 管理者 roles/dataplex.catalogAdmin
  • アスペクト タイプを含むすべての Dataplex Catalog リソースを作成、管理する: Dataplex Catalog 編集者 roles/dataplex.catalogEditor
  • カスタム アスペクト タイプに対するすべての権限(アスペクト タイプを使用してエントリを作成または編集する権限を除く): Dataplex アスペクト タイプ オーナー roles/dataplex.aspectTypeOwner
  • アスペクト タイプとそれに関連付けられた IAM ポリシーを表示する: Dataplex カタログ閲覧者 roles/dataplex.catalogViewer
  • アスペクト タイプを使用して、対応するアスペクトを持つエントリを作成および変更する: Dataplex アスペクト タイプ ユーザー roles/dataplex.aspectTypeUser
  • schemaoverviewcontacts などのシステム アスペクト タイプのアスペクトを追加する: Dataplex エントリ オーナー roles/dataplex.entryOwner

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

詳細については、Dataplex IAM ロールをご覧ください。

API を有効にする

Dataplex プロジェクトで Dataplex API を有効にします。

API の有効化

アスペクト タイプを作成する

Console

  1. Google Cloud コンソールで、Dataplex の [カタログ] ページに移動します。

    [カタログ] に移動

  2. [アスペクト タイプとタグ テンプレート] > [カスタム] タブをクリックします。

  3. [アスペクト タイプを作成する(Dataplex Catalog)] をクリックします。

  4. [アスペクト タイプを作成] ウィンドウで、次のように入力します。

    1. 省略可: [表示名] フィールドに、アスペクト タイプの名前を入力します。
    2. [アスペクト タイプ ID] フィールドに、アスペクト タイプの一意の ID を入力します。
    3. 省略可: [説明] フィールドに、アスペクト タイプの説明を入力します。
    4. [ロケーション] フィールドで、アスペクト タイプのロケーションを選択します。作成後にアスペクト タイプのロケーションを変更することはできません。
  5. 省略可: アスペクト タイプのテンプレートを定義します。

    [テンプレート] で [フィールドを追加] をクリックします。[新しいフィールド] セクションに、次の情報を入力します。

    1. [名前] フィールドに名前を入力します。
    2. 省略可: [表示名] フィールドに表示名を入力します。
    3. 省略可: [説明] フィールドに説明を入力します。
    4. [] フィールドで、フィールドのデータ型を選択します。選択内容に応じて、次のフィールドとオプションが表示されます。

      • データの種類として [テキスト] を選択した場合は、次の手順を行います。

        1. [テキストの種類] フィールドで、テキストの種類を選択します。
        2. [Text values] フィールドに、テキスト フィールドのヒントを指定します。これを行うには、[値を追加] をクリックしてヒントを入力します。テキスト フィールドには複数のヒントを追加できます。
        3. [完了] をクリックします。
      • データ型として [列挙型] を選択した場合は、列挙型の値を追加します。

        1. [列挙値を追加] をクリックします。
        2. [] フィールドに列挙型の値を入力します。複数の列挙値を追加できます。
        3. [完了] をクリックします。
      • データ型として [配列] を選択した場合は、[配列アイテム] セクションで、配列に存在するアイテムのタイプを定義します。

        1. [配列項目を追加] をクリックします。
        2. [名前] フィールドに、配列アイテムの名前を入力します。
        3. 省略可: [表示名] フィールドに、配列アイテムの表示名を入力します。
        4. 省略可: [説明] フィールドに、配列アイテムの説明を入力します。
        5. [] フィールドで、配列アイテムのデータ型を選択します。

          選択内容に応じて、次の一連のフィールドとオプションが表示されます。これらのオプションは、このセクションの他の場所で説明されているデータ型 TextEnumMapArrayRecord のオプションと類似しています。

        6. [完了] をクリックします。

      • データ型として [Map] を選択した場合は、[Map value] セクションで、マップに存在する値の型を定義します。

        1. [マップの値を追加] をクリックします。
        2. [名前] フィールドに、地図の名前を入力します。
        3. 省略可: [表示名] フィールドに、マップの表示名を入力します。
        4. 省略可: [説明] フィールドにマップの説明を入力します。
        5. [タイプ] フィールドで、マップのデータ型を選択します。

          選択内容に応じて、次の一連のフィールドとオプションが表示されます。これらのオプションは、このセクションの他の場所で説明されているデータ型 TextEnumMapArrayRecord のオプションと類似しています。

        6. [完了] をクリックします。

      • データタイプとして [レコード] を選択した場合は、次のように入力します。

        1. [レコード ID] フィールドに、他のレコード フィールドがこのレコードを参照するために使用できる一意の ID を入力します。このドキュメントのレコード ID フィールドとレコード参照フィールドの使用例をご覧ください。
        2. 省略可: このテンプレートの別のレコードへの参照を追加する場合は、[レコード参照] フィールドを使用します。アスペクト タイプを作成した後にこの値を変更することはできません。このドキュメントのレコード ID フィールドとレコード参照フィールドの使用例をご覧ください。
        3. [レコード フィールド] セクションでは、複数のネストされたフィールドを持つ複雑なオブジェクトを定義できます。これを行うには、[レコード フィールド項目を追加] をクリックして、次の値を指定します。

        4. [名前] フィールドに、レコード フィールドの名前を入力します。

        5. 省略可: [表示名] フィールドに、レコード フィールドの表示名を入力します。

        6. 省略可: [説明] フィールドに、レコード フィールドの説明を入力します。

        7. [] フィールドでデータ型を選択します。

          選択内容に応じて、次のフィールドとオプションが表示されます。これらのオプションは、このセクションの前半で説明したデータ型 TextEnumMapArrayRecord で説明したオプションと類似しています。

        8. [完了] をクリックします。

    5. このタイプのアスペクトでフィールドを必須にするには、[必須] を選択します。必須の側面と省略可能な側面の詳細については、このドキュメントの側面のカテゴリのセクションをご覧ください。

    6. [完了] をクリックします。

    7. 複数のフィールドを追加するには、[フィールドを追加] をクリックして、前の手順を繰り返します。

  6. 省略可: [ラベル] セクションで、任意のラベルを Key-Value ペアとしてリソースに追加します。

    1. [ラベルを追加] をクリックします。
    2. [キー] フィールドにキーを入力します。
    3. [] フィールドにキーの値を入力します。
    4. ラベルをさらに追加するには、[ラベルを追加] をクリックして手順を繰り返します。
  7. [保存] をクリックします。

gcloud

アスペクト タイプを作成するには、gcloud dataplex aspect-types create コマンドを使用します。

REST

アスペクト タイプを作成するには、aspectType.create メソッドを使用します。

アスペクト タイプを作成したら、エントリにアスペクトを追加できます。

レコード ID フィールドとレコード参照フィールドの使用例

再帰参照には、[レコード ID] フィールドと [レコード参照] フィールドを使用できます。次の例では、これらのフィールドの使用方法を示します。

Employee というアスペクト タイプについて考えてみましょう。このアスペクト タイプには次のフィールドがあります。

  • 名称(型: Text
  • 開始日(型: Date & time
  • 呼称(型: Text
  • 現在の住所(型: Record
  • 本籍(型: Record

2 つの住所フィールド([現在の住所] と [本籍])は同じデータ型 Record です。重複を回避するには、これらのフィールドを定義するときに [レコード ID] と [レコード参照] の値を設定します。

現在の住所フィールドを定義するときに、レコード IDaddress-field として指定できます。[本籍] には、[レコード参照] と同じ値(address-field)を指定できます。次に例を示します。

  • 名称(型: Text
  • 開始日(型: Date & time
  • 呼称(型: Text
  • 現在の住所(型:Record、レコード ID: address-field
  • 本籍(タイプ: Record、レコード参照: address-field

これにより、別の住所のフィールドを複製する必要がなくなります。

エントリにアスペクトを追加する

アスペクト タイプを作成したら、そのタイプのアスペクトを作成できます。アスペクトはエントリ内に保存されるため、エントリにアスペクトを追加するには、エントリを更新する必要があります。

次の点にご注意ください。

  • アスペクトはエントリまたはエントリの列に追加できます。
  • 必須のアスペクトを編集できるのは、カスタム エントリの場合のみです。必須のアスペクトは削除できません。
  • カスタム エントリとシステム エントリの両方のオプション アスペクトを編集、削除できます。

Console

  1. Google Cloud コンソールで、Dataplex の [検索] ページに移動します。

    検索に移動

  2. [検索プラットフォームを選択] で、検索モードとして [Dataplex Catalog] を選択します。

  3. アスペクトを追加するエントリを検索し、そのエントリをクリックします。[エントリの詳細] ページが開きます。

  4. エントリにアスペクトを追加する手順は次のとおりです。

    1. [詳細] タブをクリックします。
    2. エントリに必須のアスペクトまたは省略可能なアスペクトを追加するには、[タグとアスペクト] セクションで、該当するカテゴリの [追加] をクリックします。
      選択したエントリのエントリタイプに必須アスペクトが定義されていない場合、必須アスペクトを追加することはできません。
    3. 追加するアスペクトを検索して選択します。
    4. [アスペクトを追加] ウィンドウで、フィールドの値を入力します。
    5. [保存] をクリックします。
  5. エントリの列に要素を追加する手順は次のとおりです。

    1. [エントリの詳細] ページで [スキーマ] タブをクリックします。
    2. アスペクトを追加する列を選択します。
    3. [アスペクトを追加] をクリックします。
    4. 追加するアスペクトを検索して選択します。
    5. [アスペクトを追加] ウィンドウで、フィールドの値を入力します。
    6. [保存] をクリックします。

gcloud

エントリまたはエントリの列にアスペクトを追加するには、gcloud dataplex entries update コマンドを使用します。

REST

エントリまたはエントリの列にアスペクトを追加するには、entry.patch メソッドを使用します。

アスペクト タイプとエントリが異なる Google Cloud 組織にあるエントリでアスペクトを作成して使用することはできません。

エントリの既存の要素を管理する

このセクションでは、エントリの既存の要素を更新および削除する方法について説明します。

アスペクトを更新する

省略可能な要素は、カスタム エントリとシステム エントリの両方で編集できます。必須のアスペクトを編集できるのは、カスタム エントリの場合のみです。

Console

  1. Google Cloud コンソールで、Dataplex の [検索] ページに移動します。

    検索に移動

  2. [検索プラットフォームを選択] で、検索モードとして [Dataplex Catalog] を選択します。

  3. アスペクトを更新するエントリを検索して、そのエントリをクリックします。

    [エントリの詳細] ページが開きます。

  4. [詳細] タブをクリックします。

  5. [タグとアスペクト] セクションで、更新するアスペクトまたはタグを展開し、[ 編集] をクリックします。

  6. [アスペクトの編集] ウィンドウで、必須フィールドを更新します。

  7. [保存] をクリックします。

gcloud

エントリまたはエントリの列の要素を更新するには、gcloud dataplex entries update コマンドを使用します。

REST

エントリまたはエントリの列の要素を更新するには、entry.update メソッドを使用します。

アスペクトを削除する

Console

  1. Google Cloud コンソールで、Dataplex の [検索] ページに移動します。

    検索に移動

  2. [検索プラットフォームを選択] で、検索モードとして [Dataplex Catalog] を選択します。

  3. 削除するアスペクトを含むエントリを検索し、そのエントリをクリックします。

    [エントリの詳細] ページが開きます。

  4. [詳細] タブをクリックします。

  5. [タグとアスペクト] セクションで、削除するアスペクトまたはタグを展開し、 [削除] をクリックします。

  6. [確認] をクリックします。

gcloud

エントリのアスペクトを削除するには、gcloud dataplex entries update コマンドを使用します。

REST

エントリのアスペクトを削除するには、entry.update メソッドを使用します。

アスペクト タイプを管理する

このセクションでは、アスペクト タイプを表示、更新、削除する方法について説明します。

Data Catalog タグ テンプレートの管理の詳細については、タグとタグ テンプレートをご覧ください。

使用可能なアスペクト タイプとタグ テンプレートのリストを表示する

Console

  1. Google Cloud コンソールで、Dataplex の [カタログ] ページに移動します。

    [カタログ] に移動

  2. [アスペクト タイプとタグ テンプレート] タブをクリックします。

    このページでは、使用可能な Dataplex Catalog のアスペクト タイプと Data Catalog のタグ テンプレートをすべて示します。

  3. カスタム アスペクトの種類とタグ テンプレートを表示するには、[カスタム] タブをクリックします。[カスタム] タブの [カタログソース] 列に、リソースが存在する場所(Dataplex Catalog または Data Catalog)が表示されます。

    システム アスペクトの種類を表示するには、[システム] タブをクリックします。

    カスタム アスペクト タイプとシステム アスペクト タイプの詳細については、このドキュメントのアスペクト タイプのカテゴリをご覧ください。

  4. 省略可: 選択したプロジェクトのアスペクト タイプとタグ テンプレートのリストを表示するには、[カスタム] タブをクリックし、[すべてのプロジェクトから表示] をオフに切り替えます。

    [すべてのプロジェクトから表示] 切り替えボタンはデフォルトでオンになっています。リストには、選択した組織の Dataplex Catalog リソースと、アクセスできるすべての組織の Data Catalog リソースが含まれます。

gcloud

使用可能なすべてのアスペクト タイプを一覧表示するには、gcloud dataplex aspect-types list コマンドを使用します。

REST

使用可能なアスペクト タイプをすべて一覧表示するには、aspectTypes.list メソッドを使用します。

アスペクト タイプまたはタグ テンプレートの詳細を表示する

Console

  1. Google Cloud コンソールで、Dataplex の [カタログ] ページに移動します。

    [カタログ] に移動

  2. [アスペクト タイプとタグ テンプレート] タブをクリックします。

  3. Dataplex Catalog アスペクト タイプの詳細を表示するには、アスペクト タイプをクリックします。アスペクト タイプの詳細ページが開きます。ここでは、表示名、アスペクト タイプ ID、説明、プロジェクト ID、ロケーション、ラベル、作成日、最終更新日などの詳細にアクセスできます。

    • 選択したアスペクト タイプの構造を表示するには、[テンプレート] タブをクリックします。
    • 最近作成された関連エントリのリスト(10 件)を表示するには、[サンプル エントリ] タブをクリックします。
    • 関連するすべてのエントリを検索するには、[検索結果の関連エントリをすべて表示] をクリックします。このボタンは、関連するエントリが 1 つ以上ある場合にのみ表示されます。
  4. Data Catalog タグ テンプレートの詳細を表示するには、タグ テンプレートをクリックします。Data Catalog でタグ テンプレートの詳細ページが開きます。ここで、表示名、テンプレート ID、プロジェクト ID、ロケーション、公開設定、ラベルなどの詳細にアクセスできます。

gcloud

アスペクト タイプの詳細を取得するには、gcloud dataplex aspect-types describe コマンドを使用します。

REST

アスペクト タイプの詳細を取得するには、aspectTypes.get メソッドを使用します。

アスペクト タイプを更新する

アスペクト タイプの表示名、説明、テンプレート フィールド、ラベルを更新できます。テンプレートの既存のフィールドは削除できません。

アスペクト タイプの作成後に、アスペクト タイプの ID とロケーションを更新することはできません。

Console

  1. Google Cloud コンソールで、Dataplex の [カタログ] ページに移動します。

    [カタログ] に移動

  2. [アスペクト タイプとタグ テンプレート] タブをクリックします。

  3. 更新するアスペクト タイプをクリックします。

  4. [アスペクト タイプの詳細] ページで、[編集] をクリックします。

  5. 必要に応じて、表示名、説明、テンプレート フィールド、ラベルを編集します。

  6. 省略可: アスペクト タイプのフィールドを非推奨としてマークするには、次の操作を行います。

    1. [テンプレート] セクションで、フィールドを展開します。
    2. [Is Deprecated] を選択します。
    3. [非推奨の理由] フィールドに、選択したフィールドを非推奨にする理由を入力します。
    4. [完了] をクリックします。
  7. [保存] をクリックします。

gcloud

アスペクト タイプを更新するには、gcloud dataplex aspect-types update コマンドを使用します。

REST

アスペクト タイプを更新するには、aspectTypes.patch メソッドを使用します。

アスペクト タイプを削除する

Console

  1. Google Cloud コンソールで、Dataplex の [カタログ] ページに移動します。

    [カタログ] に移動

  2. [アスペクト タイプとタグ テンプレート] タブをクリックします。

  3. 削除するアスペクト タイプをクリックします。

  4. [アスペクト タイプの詳細] ページで、[削除] をクリックします。表示されるメッセージを確認します。

gcloud

アスペクト タイプを削除するには、gcloud dataplex aspect-types delete コマンドを使用します。

REST

既存のアスペクト タイプを削除するには、aspectTypes.delete メソッドを使用します。

次のステップ