本文档介绍了如何将资源纳入数据网域,以便整理数据。
- 您一次只能在一个网域中包含资源。您无法将单个资源添加到多个网域。* 您可以在单个数据网域中包含最多 500 个直接资源。
工作原理
如需在网域中添加资源,您必须执行以下步骤:
数据网域授权简介
网域授权会在资源和网域之间建立信任。资源所有者向目标资源或项目中的数据网域 IAM 主账号授予 IAM 权限。此操作可让 Knowledge Catalog 授权并执行创建将资源与网域相关联的绑定的操作。
只有在创建绑定时才会验证网域授权。这意味着,如果您撤消网域主账号对资源的 IAM 角色,该资源不会自动从网域中解除绑定或移除。在明确删除资源-网域绑定之前,具有 roles/dataplex.dataDomainEntryReader 角色的网域用户可以继续发现资源并查看其元数据。
网域授权和网域用户权限
使用数据网域时,请务必区分数据网域授权和向用户授予数据网域权限:
- 数据网域授权:指在目标资源上授权数据网域。您需要向数据网域 IAM 主账号授予对底层资源(例如项目或 BigQuery 数据集)的权限,才能创建资源与网域之间的绑定。
- 向用户授予数据网域权限:是指向用户或服务账号授予与数据网域本身互动的权限。您可以直接在数据网域中向用户授予 IAM 角色,以便他们可以在知识目录中查看、修改或管理网域。如需了解详情,请参阅数据网域角色和权限。
角色类型
在目标资源上授权数据网域时,您可以选择属于以下角色类型之一的 IAM 角色:读取者、写入者或管理员。
一般来说,Writer 和 Admin 角色类型预留用于使网域能够对其有权访问的资源执行更广泛的操作,如下所示:
- 写入者角色类型允许网域管理对资源的元数据修改权限。
- 管理员角色类型允许网域管理资源的所有权限。
在数据网域范围内,所有这三种角色类型都允许数据网域创建与目标资源的绑定。创建绑定后,用户可以在网域内搜索资源并查看其元数据。如需了解详情,请参阅搜索数据资源。
选择角色类型时,请考虑您希望向网域授予的对资源的长效访问权限级别。
建议用于网域授权的角色
下表列出了可用于授权网域检查资源的建议角色。 对于每种资源,您可以选择不同于建议的角色,但此类角色必须包含执行资源绑定所需的权限。
从列表中选择要查看其角色的资源类型。
| 资源类型 | 角色类型 | 建议的角色 | 说明 | 所需权限 |
|---|---|---|---|---|
| 项目 | 读取者 | roles/browser |
授予网域获取项目相关信息的权限。 |
resourcemanager.projects.get
|
| 写入者 | roles/editor |
授予网域权限,使其能够获取项目信息并管理项目元数据。 |
resourcemanager.projects.getresourcemanager.projects.update
|
|
| 管理员 | roles/owner |
为网域提供对项目的管理权限,包括发现、元数据治理和访问权限政策管理。 |
resourcemanager.projects.getresourcemanager.projects.updateresourcemanager.projects.setIamPolicy
|
|
| BigQuery 数据集 | 读取者 | roles/bigquery.metadataViewer |
向网域授予获取 BigQuery 数据集相关信息的权限。 |
bigquery.datasets.get
|
| 写入者 | roles/bigquery.dataEditor |
授予网域获取 BigQuery 数据集相关信息和管理其元数据的权限。 |
bigquery.datasets.getbigquery.datasets.updateTag
|
|
| 管理员 | roles/bigquery.dataOwner |
授予对 BigQuery 数据集的网域管理权限,包括发现、元数据治理和访问权限政策管理。 |
bigquery.datasets.getbigquery.datasets.updateTagbigquery.datasets.setIamPolicy
|
|
| BigQuery 表 | 读取者 | roles/bigquery.metadataViewer |
授予网域获取 BigQuery 表相关信息的权限。 |
bigquery.tables.get
|
| 写入者 | roles/bigquery.dataEditor |
授予网域获取 BigQuery 表相关信息和管理其元数据的权限。 |
bigquery.tables.getbigquery.tables.update
|
|
| 管理员 | roles/bigquery.dataOwner |
为网域提供对 BigQuery 表的管理权限,包括发现、元数据治理和访问权限政策管理。 |
bigquery.tables.getbigquery.tables.updatebigquery.tables.setIamPolicy
|
|
| 数据产品 | 读取者 | roles/dataplex.dataProductsViewer |
授予网域获取数据产品相关信息的权限。 |
dataplex.dataProducts.get
|
| 写入者 | roles/dataplex.dataProductsEditor |
授予网域权限以获取数据产品的信息并管理其元数据。 |
dataplex.dataProducts.getdataplex.dataProducts.update
|
|
| 管理员 | roles/dataplex.dataProductsAdmin |
为网域提供对数据产品的管理权限,包括数据产品发现、元数据治理和访问权限政策管理。 |
dataplex.dataProducts.getdataplex.dataProducts.updatedataplex.dataProducts.setIamPolicy
|
|
| Dataform 代码库 | 读取者 | roles/dataform.codeViewer |
向网域授予对 Dataform 代码资源的只读权限。 |
dataform.repositories.get
|
| 写入者 | roles/dataform.codeOwner |
授予网域对 Dataform 代码库和代码资源的完整访问权限。 |
dataform.repositories.get
|
|
| 管理员 | roles/dataform.codeOwner |
授予网域对 Dataform 代码库和代码资源的完整访问权限。 |
dataform.repositories.get
|
|
| Dataproc Metastore 数据库 | 读取者 | roles/metastore.metadataUser |
授予网域权限以获取 Dataproc Metastore 数据库的列表。 |
metastore.databases.get
|
| 写入者 | roles/metastore.metadataEditor |
授予网域读取和修改 Dataproc Metastore 数据库元数据以及这些数据库下各个表的权限。 |
metastore.databases.get
|
|
| 管理员 | roles/metastore.metadataOwner |
为网域授予对 Dataproc Metastore 数据库元数据以及这些数据库下各个表的完整访问权限。 |
metastore.databases.get
|
|
| Dataproc Metastore 表 | 读取者 | roles/metastore.metadataViewer |
授予网域读取 Dataproc Metastore 数据库元数据以及这些数据库下各个表的权限。 |
metastore.tables.get
|
| 写入者 | roles/metastore.metadataEditor |
授予网域读取和修改 Dataproc Metastore 数据库元数据以及这些数据库下各个表的权限。 |
metastore.tables.get
|
|
| 管理员 | roles/metastore.metadataOwner |
为网域授予对 Dataproc Metastore 数据库元数据以及这些数据库下各个表的完整访问权限。 |
metastore.tables.get
|
|
| Cloud Spanner 数据库 | 读取者 | roles/spanner.databaseReader |
授予网域从 Spanner 数据库读取数据、执行 SQL 查询以及查看数据库架构的权限。 |
spanner.databases.get
|
| 写入者 | roles/spanner.editor |
授予网域对 Spanner 资源的管理和运营权限,包括实例和数据库管理、查询执行、备份和恢复管理以及资源管理。 |
spanner.databases.get
|
|
| 管理员 | roles/spanner.databaseAdmin |
授予网域对项目中的 Spanner 实例以及这些实例中的数据库的完整管理权限。 |
spanner.databases.get
|
|
| BigLake 表 | 读取者 | roles/biglake.metadataViewer |
向网域授予对所有 BigLake 资源的元数据只读权限。 |
biglake.tables.get
|
| 写入者 | roles/biglake.editor |
授予网域对所有 BigLake 资源的读写权限。 |
biglake.tables.get
|
|
| 管理员 | roles/biglake.admin |
向网域授予对所有 BigLake 资源的完整访问权限。 |
biglake.tables.get
|
|
| AlloyDB for PostgreSQL 实例 | 读取者 | roles/alloydb.viewer |
授予网域对 AlloyDB for PostgreSQL 资源的只读权限。 |
alloydb.instances.get
|
| 写入者 | roles/alloydb.editor |
授予网域对 AlloyDB for PostgreSQL 资源的读写权限。 |
alloydb.instances.get
|
|
| Gemini Enterprise Agent Platform 数据集 | 读取者 | roles/aiplatform.viewer |
授予网域查看 Gemini Enterprise Agent Platform 中所有资源的权限。 |
aiplatform.datasets.get
|
| 写入者 | roles/aiplatform.user |
授予网域使用 Gemini Enterprise Agent Platform 中所有资源的权限。 |
aiplatform.datasets.get
|
准备工作
在将资源纳入数据网域之前,请确保您拥有所需的角色并已启用相应的 API。
启用 API
启用 Dataplex API。
启用 API 所需的角色
如需启用 API,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。
所需的角色
如需获得将资源绑定到数据网域所需的权限,请让管理员向您授予项目的以下 IAM 角色:
-
管理网域和资源绑定:Dataplex Data Domain Editor (
roles/dataplex.dataDomainEditor)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
获取网域 IAM 主账号
如需授权数据网域对资源执行操作,您需要网域 IAM 主账号 ID。请务必记下网域正文 ID,因为您必须在授权网域访问资源时提供该 ID。
控制台
在 Google Cloud 控制台中,前往数据网域页面。
点击域名以前往域名详情页面。
在概览标签页中,依次前往信息和标识符。
复制 IAM 主账号的值。格式类似于以下内容:
principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID
REST
如需使用 REST API 获取网域正文,请使用 projects.locations.dataDomains.get 方法获取数据网域。响应包含 policyMember 字段,其中包含网域的 IAM 主账号(iamPolicyNamePrincipal 或 iamPolicyUidPrincipal):
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:您的 Google Cloud 项目的 ID。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域或子网域的唯一标识符。
HTTP 方法和网址:
GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
向资源中的网域授权
在绑定资源之前,您必须向网域的主账号授予目标资源所需的 IAM 角色。
控制台
在 Google Cloud 控制台中,前往目标资源,然后打开该资源的“权限”面板:
点击添加主账号或类似选项。
在新的主账号字段中,粘贴网域的 IAM 主账号。如需了解如何获取网域主账号,请参阅获取网域 IAM 主账号部分。
在选择角色菜单中,选择适合您用途的角色。如需查看完整的角色列表,请参阅建议用于网域授权的角色部分。 等待两到三分钟,让更改生效。
点击保存。
gcloud
使用相应产品的 Google Cloud CLI 命令向网域正文授予所需角色:
principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID
例如,使用 gcloud 绑定项目:
gcloud projects add-iam-policy-binding RESOURCE_PROJECT_ID \
--member "principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID" \
--role ROLE
替换以下内容:
- RESOURCE_PROJECT_ID:要授权的目标项目的 ID。
- DOMAIN_PROJECT_NUMBER:托管数据网域的项目的项目编号。
- LOCATION_ID:数据网域所在的区域。例如
us-central1。 - DOMAIN_ID:数据网域的 ID。
- ROLE:适合您所需绑定用途的 IAM 角色。
如需了解具体的产品命令(例如 BigQuery 的 bq add-iam-policy-binding),请参阅相应产品的 API 文档。
REST
如需向网域主账号授予对资源的权限,您通常需要使用 getIamPolicy 获取现有的 IAM 政策,附加包含所选角色的网域主账号绑定,然后使用 setIamPolicy 设置更新后的政策。
以下示例展示了如何为项目设置 IAM 政策。
获取当前 IAM 政策
在使用任何请求数据之前,请先进行以下替换:
RESOURCE_PROJECT_ID:要授权的目标项目的 ID。
HTTP 方法和网址:
POST https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
设置包含网域主账号的更新后政策
在使用任何请求数据之前,请先进行以下替换:
RESOURCE_PROJECT_ID:要授权的目标项目的 ID。DOMAIN_PROJECT_NUMBER:托管数据网域的项目的项目编号。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域的 ID。ROLE:适合您所需绑定用途的 IAM 角色。
HTTP 方法和网址:
POST https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy
请求 JSON 正文:
{
"policy": {
"bindings": [
{
"role": "ROLE",
"members": [
"principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID"
]
}
]
}
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
如需了解如何为其他资源设置政策,请参阅以下 API 文档:
将资源绑定到网域
在目标资源上授权网域后,您可以将资源绑定到该网域。 如果您添加某个项目,则该项目中的所有资源都会自动添加到网域中,除非您明确替换其添加状态。
控制台
在 Google Cloud 控制台中,前往数据网域页面。
选择要向其添加资源的网域。
点击资源标签。
根据要添加的内容,点击添加资源或添加项目。
搜索并选择要纳入网域的资源。
点击选择。
REST
如需在网域中包含资源,请使用 projects.locations.dataDomains.bindings.create 方法。
如需查看要纳入网域的资源的载荷,请展开即可下某个部分:
项目
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:托管数据网域的 Google Cloud 项目的 ID。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域的唯一标识符。RESOURCE_PROJECT_ID:要纳入网域的目标项目的 ID。BINDING_ID:相应资源绑定的可选唯一标识符。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//cloudresourcemanager.googleapis.com/projects/RESOURCE_PROJECT_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
BigQuery 数据集和表
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:托管数据网域的 Google Cloud 项目的 ID。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域的唯一标识符。RESOURCE_PROJECT_ID:托管资源的 Google Cloud 项目的 ID。DATASET_ID:目标资源(例如 BigQuery 数据集)的 ID。BINDING_ID:相应资源绑定的可选唯一标识符。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//bigquery.googleapis.com/projects/RESOURCE_PROJECT_ID/datasets/DATASET_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
数据产品
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:托管数据网域的 Google Cloud 项目的 ID。LOCATION_ID:数据网域和资源所在的区域。例如us-central1。DOMAIN_ID:数据网域的唯一标识符。RESOURCE_PROJECT_ID:托管数据产品的 Google Cloud 项目的 ID。DATA_PRODUCT_ID:目标数据产品的唯一 ID。BINDING_ID:相应资源绑定的可选唯一标识符。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//dataplex.googleapis.com/projects/RESOURCE_PROJECT_ID/locations/LOCATION_ID/dataProducts/DATA_PRODUCT_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Dataform 代码库
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管代码库的项目的 ID。LOCATION_ID:托管代码库的区域。REPOSITORY_ID:Dataform 代码库的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//dataform.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/repositories/REPOSITORY_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Dataproc Metastore 数据库
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管数据库的项目的 ID。LOCATION_ID:托管服务的区域。SERVICE_ID:Dataproc Metastore 服务的 ID。DATABASE_ID:数据库的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//metastore.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID/databases/DATABASE_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Dataproc Metastore 表
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管表的项目的 ID。LOCATION_ID:托管服务的区域。SERVICE_ID:Dataproc Metastore 服务的 ID。DATABASE_ID:数据库的 ID。TABLE_ID:表的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//metastore.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID/databases/DATABASE_ID/tables/TABLE_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Spanner 数据库
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管数据库的项目的 ID。INSTANCE_ID:Spanner 实例的 ID。DATABASE_ID:数据库的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
BigLake
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管目录的项目的 ID。LOCATION_ID:托管目录的区域。CATALOG_ID:目录的 ID。DATABASE_ID:数据库的 ID。TABLE_ID:表的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//biglake.googleapis.com/projects/PROJECT_ID/catalogs/CATALOG_ID/databases/DATABASE_ID/tables/TABLE_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
AlloyDB for PostgreSQL
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管集群的项目的 ID。LOCATION_ID:托管集群的区域。CLUSTER_ID:集群的 ID。INSTANCE_ID:实例的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//alloydb.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Gemini Enterprise Agent Platform
在使用任何请求数据之前,请先进行以下替换:
DOMAIN_PROJECT_ID:托管数据网域的项目的 ID。DOMAIN_LOCATION_ID:数据网域的托管区域。例如us-central1。DOMAIN_ID:数据网域的 ID。BINDING_ID:要分配给新数据网域绑定的 ID。PROJECT_ID:托管数据集的项目的 ID。LOCATION_ID:托管数据集的区域。DATASET_ID:数据集的 ID。
HTTP 方法和网址:
POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID
请求 JSON 正文:
{
"resource": "//aiplatform.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/datasets/DATASET_ID"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
查看包含的资源
查看直接绑定到数据网域的文件夹、项目和资源。
控制台
在 Google Cloud 控制台中,前往数据网域页面。
点击相应域名。
点击资源标签页。该列表显示直接包含在该网域中的资源。
REST
如需列出包含的资源绑定,请使用 projects.locations.dataDomains.bindings.list 方法:
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:您的 Google Cloud 项目的 ID。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域的唯一标识符。
HTTP 方法和网址:
GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
从网域中移除资源
移除资源会将其从数据域层次结构中解除绑定。
控制台
在 Google Cloud 控制台中,前往数据网域页面。
点击相应域名。
点击资源标签。
选择要移除的资源。
点击删除并确认删除。
REST
如需删除资源绑定,请使用 projects.locations.dataDomains.bindings.delete 方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID:您的 Google Cloud 项目的 ID。LOCATION_ID:数据网域所在的区域。例如us-central1。DOMAIN_ID:数据网域的唯一标识符。BINDING_ID:资源绑定的唯一标识符。
HTTP 方法和网址:
DELETE https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID" | Select-Object -Expand Content
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。