借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中的数据网域,您可以将搜索结果缩小到特定的业务上下文,并在定义的边界内发现元数据。作为数据域用户,您可以浏览域层次结构、搜索域资源,以及检索域上下文来为 AI 智能体建立依据。
准备工作
在按网域执行搜索之前,请确保您已启用所需的角色和 API。
启用 API
启用 Dataplex API(如果尚未启用)。
启用 API 所需的角色
如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。
所需的角色
如需获得使用数据网域搜索和发现元数据所需的权限,请让管理员为您授予项目或数据网域的以下 IAM 角色:
-
查看网域条目的元数据以进行发现:Dataplex Data Domain Entry Reader (
roles/dataplex.dataDomainEntryReader) -
查看网域配置和绑定:Dataplex Data Domain Configuration Viewer (
roles/dataplex.dataDomainViewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
浏览网域层次结构
如需详细了解如何浏览网域层次结构,请参阅查看某个位置的数据网域和子网域。
在数据网域中查找资源
您可以在数据网域中搜索 BigQuery 数据集、表和数据产品等资源,并查看其元数据。如需搜索网域中的资源,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog > 搜索页面。
点击试用自然搜索,激活自然搜索功能。
点击过滤器。
在范围字段中,从列表中选择网域。
在选择网域字段中,选择要将结果范围缩小到的网域。根据需要添加其他过滤条件。
或者,您可以使用在网域内搜索菜单选项来查找网域中的资源:
在 Google Cloud 控制台中,前往数据网域页面。
从 菜单中选择在网域内搜索。此操作会自动打开一个已应用网域过滤条件的搜索窗口。
使用搜索字段查找网域中的资源。
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 中没有直接访问权限。