SCHEMATA_LINKS 视图

INFORMATION_SCHEMA.SCHEMATA_LINKS 视图中的每一行对应一个通过 BigQuery Sharing 共享的关联数据集。此视图还包含使用数据净室共享的项目中的各个资源,例如表或视图。此视图会为关联数据集中的每个单独资源显示一行。

所需权限

如需查询 INFORMATION_SCHEMA.SCHEMATA_LINKS 视图,您需要项目级层的 bigquery.datasets.get Identity and Access Management (IAM) 权限。

以下预定义的 IAM 角色均包含查询 INFORMATION_SCHEMA.SCHEMATA_LINKS 视图所需的权限:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer

如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制

架构

INFORMATION_SCHEMA.SCHEMATA_LINKS 视图具有如下架构:

列名 数据类型
catalog_name STRING 包含来源数据集的项目名称。
schema_name STRING 来源数据集的名称。数据集名称也称为 datasetId
linked_schema_catalog_number STRING 关联数据集所属项目的项目编号。
linked_schema_catalog_name STRING 关联数据集所属项目的项目名称。
linked_schema_name STRING 关联数据集的名称。数据集名称也称为 datasetId
linked_schema_creation_time TIMESTAMP 关联数据集的创建时间。
linked_schema_org_display_name STRING 在其中创建关联数据集的组织的显示名称。
shared_asset_id STRING 使用数据净室共享的资产的 ID。如果 link_typeREGULAR,则此值为 null
link_type STRING 关联数据集的类型。可能的值为 REGULARDCR(数据净室)。

范围和语法

针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则系统会从美国区域检索元数据。下表说明了此视图的区域范围:

视图名称 资源范围 区域范围
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_LINKS 项目级 美国区域
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_LINKS 项目级 REGION
请替换以下内容:
  • 可选:PROJECT_ID:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。
  • REGION:任何数据集区域名称。 例如 `region-us`

示例

本部分列出了查询 INFORMATION_SCHEMA.SCHEMATA_LINKS 视图的示例。

示例:列出另一个项目的所有关联数据集

以下示例列出了 EU 多区域中另一个名为 otherproject 的项目的所有关联数据集:

SELECT * FROM `otherproject`.`region-eu`.INFORMATION_SCHEMA.SCHEMATA_LINKS;

输出类似于以下内容:为简化输出,省略了某些列。

+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|    catalog_name    |  schema_name    | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name | linked_schema_creation_time | shared_asset_id | link_type |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|  otherproject      | source_dataset  | subscriptioproject1        |                974999999291  | linked_dataset     |  subscriptionorg1              |         2025-08-07 05:02:27 | NULL            | REGULAR   |
|  otherproject      | source_dataset1 | subscriptionproject2       |                974999999292  | test_dcr           |  subscriptionorg2              |         2025-08-07 10:08:50 | test_table      | DCR       |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+

示例:按共享数据集列出所有关联数据集

以下示例列出了 US 多区域中名为 sharedataset 的共享数据集的所有关联数据集:

SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_LINKS WHERE schema_name = 'sharedataset';

输出类似于以下内容:为简化输出,省略了某些列。


+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|    catalog_name     |  schema_name   | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name | linked_schema_creation_time | shared_asset_id | link_type |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|  myproject          | sharedataset   | subscriptionproject1       |                974999999291  | linked_dataset     |  subscriptionorg1              |         2025-08-07 05:02:27 | NULL            | REGULAR   |
|  myproject          | sharedataset   | subscriptionproject2       |                974999999292  | test_dcr           |  subscriptionorg2              |         2025-08-07 10:08:50 | test_table      | DCR       |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+

示例:列出使用数据净室共享的所有资源

以下示例列出了 EU 多区域中名为 otherproject 的另一个项目中使用数据净室共享的所有单个资源(例如表或视图):

SELECT * FROM `otherproject`.`region-eu`.INFORMATION_SCHEMA.SCHEMATA_LINKS where link_type='DCR';

输出类似于以下内容:为简化输出,省略了某些列。

+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|    catalog_name     |  schema_name   | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name | linked_schema_creation_time | shared_asset_id | link_type |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+
|  otherproject       | sharedataset1  | subscriptionproject1       |                 974999999291 | test_dcr1          |  subscriptionorg1              |         2025-08-07 05:02:27 | test_view       | DCR       |
|  otherproject       | sharedataset2  | subscriptionproject2       |                 974999999292 | test_dcr2          |  subscriptionorg2              |         2025-08-07 10:08:50 | test_table      | DCR       |
+---------------------+----------------+----------------------------+------------------------------+--------------------+--------------------------------+-----------------------------+-----------------+-----------+