作为数据域用户,您可以使用数据域将搜索结果缩小到特定业务背景,搜索 BigQuery 数据集、表和数据产品,并发现特定域边界内的元数据。
准备工作
在按域执行搜索之前,请确保您拥有所需角色并已启用 API。
启用 API
启用 Dataplex API(如果尚未启用)。
启用 API 所需的角色
如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您
创建了项目,则可能已通过
所有者角色 (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)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
浏览域层次结构
如需详细了解如何浏览域层次结构,请参阅查看某个位置的数据域和子域。
在数据域中查找资源
如需按域搜索资源,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog > 搜索 页面。
点击试用自然搜索 以激活自然搜索功能。
点击过滤器 。
在范围 字段中,从列表中选择域 。
在选择域 字段中,选择您要将结果范围缩小到的域。根据需要添加任何其他过滤条件。
或者,您可以使用在域内搜索 菜单选项在域中查找资源:
在 Google Cloud 控制台中,前往 数据域 页面。
从 菜单中选择 在域内搜索 。此操作会自动打开一个搜索窗口,并应用域 过滤条件。
使用搜索字段在域中查找资源。
REST
如需搜索限定为数据域的条目,请使用 projects.locations.searchEntries 方法,并在 contexts 参数中提供域路径。
searchEntriesglobal
在使用任何请求数据之前, 请先进行以下替换:
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 中没有直接访问权限。