このドキュメントでは、用語集インポート ユーティリティを使用して、Google スプレッドシートから Knowledge Catalog(以前の Dataplex Universal Catalog)に用語集、カテゴリ、用語を一括でインポートする方法について説明します。
glossary_import ユーティリティは、Google スプレッドシートからデータを解析して検証し、
Knowledge Catalog
CreateMetadataJob API と互換性のある形式に変換して、
インポート ジョブをトリガーする前に Cloud Storage バケットにアップロードします。
始める前に
用語集をインポートする前に、次の前提条件を満たしていることを確認してください。
サービス アカウントを設定する
Google スプレッドシートを使用してインポート ユーティリティを実行するには、Google Sheets API にアクセスしてユーザー認証情報を借用するために必要な権限を持つサービス アカウントを設定する必要があります。
サービス アカウントを作成または特定します。
インポート ユーティリティを実行するプロジェクトで、既存のサービス アカウントを選択するか、新しいサービス アカウントを作成します。詳細については、 サービス アカウントの作成をご覧ください。 サービス アカウントのメールアドレス (例:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)をメモします。サービス アカウントの権限借用を構成します。
インポート ユーティリティ スクリプトをローカルで実行するには、ユーザー アカウントにサービス アカウントの権限を借用する権限が必要です。ユーザー アカウントにサービス アカウントのサービス アカウント トークン作成者 ロール(
roles/iam.serviceAccountTokenCreator)を付与します。詳細については、 サービス アカウントに対するアクセス権の管理をご覧ください。
サービス アカウントに Google スプレッドシートへの
Editorアクセス権を付与します。インポート プロセスで使用する Google スプレッドシートを開き、[共有] をクリックして、サービス アカウントのメールアドレスを
Editorとして追加します。この権限により、サービス アカウントはシートからデータを読み取ったり、シートにデータを書き込んだりできます。
Cloud Storage バケットを作成する
インポート ファイルのステージング領域として機能する Cloud Storage バケットを作成します。
必要なロール
サービス アカウントに Google スプレッドシートから用語集をインポートするために必要な 権限が付与されるように、 次の IAM ロールをサービス アカウントに付与するよう管理者に依頼してください。
- プロジェクトに対する Dataplex 管理者 (
roles/dataplex.admin) - プロジェクトに対する Dataplex Catalog 管理者 (
roles/dataplex.catalogAdmin) - プロジェクトに対する Dataplex Catalog 編集者 (
roles/dataplex.catalogEditor) - Cloud Storage バケットに対する
roles/storage.objectAdminStorage オブジェクト管理者
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をサービス アカウントに付与することもできます。
API を有効にする
用語集をインポートするには、プロジェクトで次の API を有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。
Git リポジトリを設定する
dataplex-labs リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs/dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/dataplex-glossary/import
依存関係のインストール
必要な Python 依存関係をインストールします。
pip3 install -r requirements.txt
パッケージのインストールで問題が発生した場合は、 新しい Python 開発環境を設定してください。
サービス アカウントの権限借用を認証して構成する
Google Cloud CLI を初期化し、サービス アカウントの権限借用を使用してアプリケーションのデフォルト認証情報(ADC)で認証します。
# Set your service account email address SA_EMAIL="SERVICE_ACCOUNT_EMAIL" # Authenticate ADC using service account impersonation and required scopes gcloud auth application-default login \ --impersonate-service-account="${SA_EMAIL}" \ --scopes="https://www.googleapis.com/auth/spreadsheets"
SERVICE_ACCOUNT_EMAIL は、サービス アカウントのメールアドレスに置き換えます。次に例を示します。
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
インポート用の Google スプレッドシートを作成して構造化する
一括インポートを正常に実行するには、インポート ユーティリティがメタデータ
フィールドを正常に解析して検証できるように、正確な列スキーマを使用して新しい Google
スプレッドシートを作成する必要があります。サービス アカウントに Google スプレッドシートへの Editor
アクセス権が付与されていることを確認してください。
シートの最初の行には、次の正確な大文字と小文字が区別されるスキーマ ヘッダーが含まれている必要があります。
| フィールド | 必須または省略可 | 説明 |
|---|---|---|
id |
必須 | 用語集内の用語またはカテゴリの一意の識別子。 |
parent |
省略可 | 親カテゴリの ID。空の場合、項目は用語集のルートレベルの子 です。参照される親 ID はシートに存在し、カテゴリに属している必要があります。 |
display_name |
必須 | 用語またはカテゴリの表示名。 |
description |
省略可 | 用語またはカテゴリの簡単な説明。 |
overview |
省略可 | 用語またはカテゴリのリッチテキストの説明(HTML タグをサポート)。 |
type |
必須 | 行タイプ。有効な値は TERM または CATEGORY です。 |
contact1_email |
省略可 | 用語またはカテゴリのプライマリ データ スチュワードのメールアドレス。 |
contact1_name |
省略可 | 用語またはカテゴリのプライマリ データ スチュワードの名前。 |
contact2_email |
省略可 | 用語またはカテゴリのセカンダリ データ スチュワードのメールアドレス。 |
contact2_name |
省略可 | 用語またはカテゴリのセカンダリ データ スチュワードの名前。 |
label1_key |
省略可 | 最初に割り当てられたラベルのキー。 |
label1_value |
省略可 | 最初に割り当てられたラベルの値。 |
label2_key |
省略可 | 2 番目に割り当てられたラベルのキー。 |
label2_value |
省略可 | 2 番目に割り当てられたラベルの値。 |
Google スプレッドシートから用語集をインポートする
環境を設定して Google スプレッドシートを準備したら、glossary_import.py スクリプトを実行します。
python3 bg_import/dataplex-glossary/glossary_import.py
インポート ユーティリティは、CreateMetadataJob API の実行結果をターミナルに直接出力します。ジョブのステータスが成功を示していることを確認します。
実行ログは、ローカル実行パスの logs/ ディレクトリで確認できます。これらのログは、転送プロセスを監査し、スキップされたエントリや形式に関する警告を特定するのに役立ちます。
次のステップ
- ビジネス用語集を管理する方法を学習する。
- JSON ファイルを使用して用語集を インポートする方法を学習する。
- 用語集を Google スプレッドシートにエクスポートする方法を学習する 。
- メタデータ管理について詳細を確認する。