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

ビジネス用語集エクスポート ユーティリティを使用すると、Knowledge Catalog(旧 Dataplex Universal 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 は、サービス アカウントのメール ID に置き換えます。 次に例を示します。

SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

エクスポート用のターゲット Google スプレッドシートを設定する

空の Google スプレッドシートを作成するか、既存のスプレッドシートを使用します。エクスポート スクリプトは最初のシートに書き込みます。サービス アカウントに Google スプレッドシートへの Editor アクセス権が付与されていることを確認してください。

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

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

python3 glossary-export.py

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

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

エクスポート スクリプトは、Knowledge Catalog のビジネス用語集からメタデータを取得し、説明、データ スチュワードシップ、ラベルなどの構造化スキーマを使用して 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 番目に割り当てられたラベルの値。

次のステップ