使用数据网域

借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中的数据网域,您可以将搜索结果缩小到特定的业务上下文,并在定义的边界内发现元数据。作为数据域用户,您可以浏览域层次结构、搜索域资源,以及检索域上下文来为 AI 智能体建立依据。

准备工作

在按网域执行搜索之前,请确保您已启用所需的角色和 API。

启用 API

启用 Dataplex API(如果尚未启用)。

启用 API 所需的角色

如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。

启用 API

所需的角色

如需获得使用数据网域搜索和发现元数据所需的权限,请让管理员为您授予项目或数据网域的以下 IAM 角色:

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

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

浏览网域层次结构

如需详细了解如何浏览网域层次结构,请参阅查看某个位置的数据网域和子网域。

在数据网域中查找资源

您可以在数据网域中搜索 BigQuery 数据集、表和数据产品等资源,并查看其元数据。如需搜索网域中的资源,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog > 搜索页面。

    转到搜索

  2. 点击试用自然搜索,激活自然搜索功能。

  3. 点击过滤器。

  4. 在范围字段中,从列表中选择网域。

  5. 在选择网域字段中,选择要将结果范围缩小到的网域。根据需要添加其他过滤条件。

或者,您可以使用在网域内搜索菜单选项来查找网域中的资源:

  1. 在 Google Cloud 控制台中,前往数据网域页面。

    前往“数据网域”

  2. 从 菜单中选择在网域内搜索。此操作会自动打开一个已应用网域过滤条件的搜索窗口。

  3. 使用搜索字段查找网域中的资源。

REST

如需搜索限定于某个数据网域的条目,请使用 projects.locations.searchEntries 方法,并在 contexts 参数中提供网域路径。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION_ID:搜索查询的区域(或 global)。
  • QUERY:搜索查询字符串。
  • DOMAIN_ID:定义搜索范围上下文的数据网域的唯一标识符。

HTTP 方法和网址:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID:searchEntries

请求 JSON 正文:

{
  "query": "QUERY",
  "contexts": [ "projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID" ],
  "semantic_search": true,
  "page_size": 100
}

如需发送您的请求,请展开以下选项之一:

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

检索数据域的上下文

您可以使用 lookupContext 方法,让 AI 智能体依托数据网域捕获的业务上下文接地。lookupContext 方法通过以下方式支持数据网域:

  • 数据网域的上下文。您可以在 resources 列表中传递表示数据网域的条目。响应包含数据网域的元数据,例如其说明和网域层次结构中的父级数据网域。
  • 数据资产的数据域成员资格。当您检索包含在一个或多个数据网域中的数据资产的上下文时,响应会包含一个 dataDomains 字段,其中列出了该资产所属的数据网域,从最具体的网域开始,一直到顶级网域。

如需检索数据网域的上下文,请发送以下请求:

curl --request POST \
  'https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:lookupContext' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  -d '{
    "resources": [
      "projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/PROJECT_NUMBER/locations/LOCATION/dataDomains/DATA_DOMAIN_ID"
    ],
    "options": {
      "format": "yaml"
    }
  }'

替换以下内容:

  • PROJECT_ID:包含数据网域的项目的 ID。
  • PROJECT_NUMBER:包含数据网域的项目的编号。
  • LOCATION:数据网域的位置。
  • DATA_DOMAIN_ID:数据网域的 ID。

如需详细了解 lookupContext 方法,请参阅检索数据资产的上下文。

限制

当您在网域上下文之外搜索资源时(例如使用全局搜索),网域的可检测性权限不适用。您只能看到您在底层系统(例如 BigQuery)中有权访问的资源。

假设某个 BigQuery 数据集包含在数据网域中。您拥有该网域的 Dataplex Data Domain Entry Reader 角色,但没有直接在 BigQuery 中查看数据集的权限:

  • 在网域内搜索:由于网域权限适用,您会在搜索结果中看到该数据集。
  • 在网域外搜索:您不会在搜索结果中看到该数据集。在宽泛搜索中,网域权限不适用,并且您在 BigQuery 中没有直接访问权限。

后续步骤