SCHEMATA_LINKS 视图
在 INFORMATION_SCHEMA.SCHEMATA_LINKS
视图中,每个关联的数据集都包含一行。关联的数据集会链接到当前用户有权访问的项目中的共享数据集。
所需权限
如需查询 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
|
在其中创建关联数据集的组织的显示名称。 |
范围和语法
针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则系统会从美国区域检索元数据。下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[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 | +----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+ | otherproject | myschema1 | subscriptionproject1 | 974999999291 | subscriptionld1 | subscriptionorg2 | | otherproject | myschema2 | subscriptionproject2 | 974999999292 | subscriptionld2 | subscriptionorg2 | | otherproject | myschema3 | subscriptionproject3 | 974999999293 | subscriptionld3 | subscriptionorg3 | +----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
示例:按共享数据集列出所有关联数据集
以下示例列出了 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 | +----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+ | myproject | sharedataset| subscriptionproject1 | 674999999291 | subscriptionld1 | subscriptionorg1 | | myproject | sharedataset| subscriptionproject2 | 774999999292 | subscriptionld2 | subscriptionorg3 | +----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+