ビジネス用語集を Google スプレッドシートにエクスポートする

このドキュメントでは、ビジネス用語集のエクスポート ユーティリティを使用して、Knowledge Catalog(旧 Dataplex Universal Catalog)から用語集、カテゴリ、用語を Google スプレッドシートに抽出して、一括管理とレポート作成を行う方法について説明します。

glossary_export ユーティリティは、Knowledge Catalog ビジネス用語集からメタデータを取得し、説明、データ スチュワード、ラベルなどの構造化スキーマを使用して Google スプレッドシートに入力します。

始める前に

用語集をエクスポートする前に、次の前提条件を満たしていることを確認してください。

サービス アカウントを設定する

エクスポート ユーティリティを実行するには、Google Sheets API にアクセスしてユーザー認証情報を借用するために必要な権限を持つサービス アカウントを設定する必要があります。

  1. サービス アカウントを作成または特定します。

    インポート ユーティリティを実行するプロジェクトで、既存のサービス アカウントを選択するか、新しいサービス アカウントを作成します。詳細については、 サービス アカウントの作成をご覧ください。 サービス アカウントのメールアドレス (例: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)をメモします。

  2. サービス アカウントの権限借用を構成します。

    エクスポート ユーティリティ スクリプトをローカルで実行するには、ユーザー アカウントにサービス アカウントの権限を借用する権限が必要です。ユーザー アカウントにサービス アカウントのサービス アカウント トークン作成者 ロール(roles/iam.serviceAccountTokenCreator)を付与します。

    詳細については、 サービス アカウントに対するアクセス権の管理をご覧ください。

  3. サービス アカウントに Google スプレッドシートへの Editor アクセス権を付与します。

    インポート プロセスで使用する Google スプレッドシートを開き、[共有] をクリックして、サービス アカウントのメールアドレスを Editor として追加します。この権限により、サービス アカウントはシートからデータを読み取ったり、シートにデータを書き込んだりできます。

必要なロール

サービス アカウントに Google スプレッドシートに用語集をエクスポートするために必要な 権限が付与されるように、 サービス アカウントに次の IAM ロールを付与するよう管理者に依頼してください。

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

管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をサービス アカウントに付与することもできます。

API を有効にする

用語集をエクスポートするには、プロジェクトで次の API を有効にします。

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

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

API を有効にする

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

依存関係のインストール

必要な 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 アクセス権が付与されていることを確認してください。

用語集を Google スプレッドシートにエクスポートする

glossary-export.py スクリプトを実行します。実行時に、エクスポートするターゲット Google スプレッドシートと特定の用語集名を指定するよう求められます。

python3 glossary-export.py

実行ログは、ローカル実行パスの logs/ ディレクトリで確認できます。これらのログは、転送プロセスを監査し、スキップされたエントリや書式設定の警告を特定するのに役立ちます。

エクスポートされた用語集データを確認する

エクスポート スクリプトは、Google スプレッドシートに次の列を入力します。 エクスポートされたデータを確認します。

フィールド 説明
id 用語集内の用語またはカテゴリの一意の識別子。
parent 親カテゴリの 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 番目に割り当てられたラベルの値。

次のステップ