从 Google 表格导入业务术语库

本文档介绍了如何使用术语库导入实用程序将 Google 表格中的术语库、类别和术语批量导入到 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中。

The glossary_import utility parses and validates data from a Google Sheet, converts it into a format compatible with the Knowledge Catalog CreateMetadataJob API, and uploads it to a Cloud Storage 存储桶 before triggering the import job.

准备工作

在导入术语库之前,请完成以下前提条件。

设置服务帐号

如需使用 Google 表格运行导入实用程序,您必须设置一个服务账号,该账号具有访问 Google Sheets API 和模拟用户凭据所需的权限:

  1. 确定或创建服务帐号。

    在运行导入实用程序的项目中选择现有服务帐号或创建新服务账号。如需了解详情,请参阅 创建服务账号。 记下服务帐号电子邮件地址 (例如 SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com)。

  2. 配置服务帐号模拟。

    如需在本地运行导入实用程序脚本,您的用户账号必须具有模拟服务帐号的权限。向服务帐号授予用户账号的 Service Account Token Creator 角色 (roles/iam.serviceAccountTokenCreator)。

    如需了解详情,请参阅 管理对服务账号的访问权限

  3. 向服务帐号授予对 Google 表格的 Editor 访问权限。

    打开要用于导入过程的 Google 表格,点击共享, 然后将服务帐号电子邮件地址添加为 Editor。此权限允许服务帐号从您的表格中读取数据或向其中写入数据。

创建 Cloud Storage 存储桶

创建一个 Cloud Storage 存储桶,用作导入文件的 暂存区。

所需角色

如需确保服务帐号具有从 Google 表格导入术语库所需的 权限,请让管理员向服务帐号授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您的管理员还可以通过自定义角色或其他预定义角色向服务帐号授予所需的权限。

启用 API

如需导入术语库,请在项目中启用以下 API:

启用 API 所需的角色

如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您 创建了项目,则可能已通过 所有者角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (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/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 必需 行类型。有效值为 TERMCATEGORY
contact1_email 可选 术语或类别的主要数据管理员的电子邮件地址。
contact1_name 可选 术语或类别的主要数据管理员的姓名。
contact2_email 可选 术语或类别的次要数据管理员的电子邮件地址。
contact2_name 可选 术语或类别的次要数据管理员的姓名。
label1_key 可选 第一个分配的标签的键。
label1_value 可选 第一个分配的标签的值。
label2_key 可选 第二个分配的标签的键。
label2_value 可选 第二个分配的标签的值。

从 Google 表格导入术语库

设置环境并准备好 Google 表格后,运行 glossary_import.py 脚本:

python3 bg_import/dataplex-glossary/glossary_import.py

导入实用程序会将 CreateMetadataJob API 执行的结果直接输出到您的终端。验证作业状态是否指示成功。

您可以在本地执行路径的 logs/ 目录中查看执行日志。这些日志可帮助您审核传输过程,并识别跳过的条目或格式警告。

后续步骤