このドキュメントでは、エントリリンク エクスポート ユーティリティを使用して、Knowledge Catalog(以前の Dataplex Universal Catalog)から Google スプレッドシートにエントリリンク(用語集の用語とデータアセット間の関係)を抽出する方法について説明します。
エントリリンクを Google スプレッドシートにエクスポートして、既存のリンクの監査、メタデータのバックアップ、一括更新用のテンプレートの準備を行うことができます。
始める前に
エントリリンクを Google スプレッドシートにエクスポートする前に、次の前提条件を満たしてください。
サービス アカウントを設定する
エクスポート ユーティリティを実行するには、Google Sheets API にアクセスしてユーザー認証情報を借用するために必要な権限を持つサービス アカウントを設定する必要があります。
サービス アカウントを特定または作成します。
インポート ユーティリティを実行するプロジェクトで、既存のサービス アカウントを選択するか、新しいサービス アカウントを作成します。詳細については、 サービス アカウントの作成をご覧ください。 サービス アカウントのメールアドレス (例:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)をメモします。サービス アカウントの権限借用を構成します。
エクスポート ユーティリティ スクリプトをローカルで実行するには、ユーザー アカウントにサービス アカウントの権限を借用する権限が必要です。ユーザー アカウントにサービス アカウントのサービス アカウント トークン作成者 ロール(
roles/iam.serviceAccountTokenCreator)を付与します。詳細については、 サービス アカウントに対するアクセス権の管理をご覧ください。
サービス アカウントに Google スプレッドシートへの
Editorアクセス権を付与します。インポート プロセスで使用する Google スプレッドシートを開き、[共有] をクリックして、サービス アカウントのメールアドレスを
Editorとして追加します。この権限により、サービス アカウントはシートからデータを読み取ったり、シートにデータを書き込んだりできます。
必要なロール
エントリリンクを Google スプレッドシートにエクスポートするために必要な 権限がサービス アカウントに付与されるように、 次の IAM ロールをサービス アカウントに付与するよう 管理者に依頼してください。
- プロジェクトに対する Dataplex 管理者 (
roles/dataplex.admin) - プロジェクトに対する Dataplex Catalog 管理者 (
roles/dataplex.catalogAdmin) - プロジェクトに対する Dataplex Catalog 編集者 (
roles/dataplex.catalogEditor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をサービス アカウントに付与することもできます。
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/export
依存関係のインストール
必要な Python 依存関係をインストールします。
pip3 install -r requirements.txt cd dataplex-glossary
パッケージのインストールで問題が発生した場合は、 新しい 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 init gcloud auth login 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 アクセス権が付与されていることを確認してください。
環境変数を設定する
次の環境変数を設定します。
# Set your glossary URL export GLOSSARY_URL="GLOSSARY_URL" # Set your Google Sheet URL export SPREADSHEET_URL="GOOGLE_SHEET_URL" # Set the project ID export USER_PROJECT="USER_PROJECT"
エントリリンクを Google スプレッドシートにエクスポートする
用語集のエントリリンクを Google スプレッドシートにエクスポートするには、次のスクリプトを実行します。
cd export python3 entrylinks-export.py \ --glossary-url="$GLOSSARY_URL" \ --spreadsheet-url="$SPREADSHEET_URL" \ --user-project="$USER_PROJECT"
実行ログは、ローカル実行パスの logs/ ディレクトリで確認できます。これらのログは、転送プロセスを監査し、スキップされたエントリや書式設定の警告を特定するのに役立ちます。
エクスポートされたエントリリンク データを確認する
エクスポート スクリプトは、Google スプレッドシートに次の列を入力します。
| 列見出し | 説明 |
|---|---|
entry_link_type |
エントリリンクのタイプ(definition、related、または
synonym)。 |
source_entry |
ソース エントリの完全なリソースパス。 |
target_entry |
ターゲット エントリの完全なリソースパス。 |
source_path |
定義リンクの列またはフィールドのパス。 |
次のステップ
- ビジネス用語集を管理する方法を学習する。
- Google スプレッドシートからエントリリンクを インポートする方法を学習する。
- 用語集を Google スプレッドシートにエクスポートする方法を学習する 。
- メタデータ管理について詳細を確認する。