用語集インポート ユーティリティを使用すると、Google スプレッドシートの用語集、カテゴリ、用語を一括で Knowledge Catalog(以前の Dataplex Universal Catalog)にインポートできます。スプレッドシートを使用して、変更をカタログにアップロードする前に、ビジネス語彙を大規模に共同でキュレート、更新、標準化できます。
始める前に
用語集をインポートする前に、次の前提条件を満たしていることを確認してください。
サービス アカウントを設定する
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 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(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 は、サービス アカウントのメール ID に置き換えます。 次に例を示します。
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
glossary_import ユーティリティは、Google スプレッドシートからデータを解析して検証し、
Knowledge Catalog
CreateMetadataJob API と互換性のある形式に変換して、
インポート ジョブをトリガーする前に Cloud Storage バケットにアップロードします。インポート ユーティリティは、CreateMetadataJob API
の実行結果をターミナルに直接出力します。ジョブのステータスが成功を示していることを確認します。
実行ログは、ローカル実行パスの logs/
ディレクトリで確認できます。これらのログは、転送プロセスを監査し、スキップされたエントリや形式に関する警告を特定するのに役立ちます。
次のステップ
- ビジネス用語集を管理する方法を確認する。
- JSON ファイルを使用して用語集を インポートする方法を確認する。
- 用語集を Google スプレッドシートにエクスポートする方法を確認する。
- メタデータ管理について詳細を確認する。