查看表快照元数据
本文档介绍如何通过 Google Cloud 控制台、查询 INFORMATION_SCHEMA
表的 TABLE_SNAPSHOTS
视图、使用 bq show
命令或调用 tables.get
API 来查看 BigQuery 表快照的元数据。本文档适用于熟悉 BigQuery 表和表快照的用户。
权限和角色
本部分介绍查看表快照的元数据所需的 Identity and Access Management (IAM) 权限以及包含这些权限的预定义 IAM 角色。
权限
如需查看表快照的元数据,您需要以下权限:
权限 | 资源 |
---|---|
bigquery.tables.get
|
表快照 |
角色
提供所需权限的预定义 BigQuery 角色如下所示:
角色 | 资源 |
---|---|
以下任意一项:bigquery.metadataViewer bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
表快照 |
获取表快照的元数据
表快照的元数据与标准表的元数据类似,但存在以下差异:
- 附加的
baseTableReference
字段用于标识创建快照的基表。 type
字段的值为SNAPSHOT
。
您可以使用以下选项之一来查看表快照的元数据:
控制台
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器窗格中,展开要查看的表快照的项目和数据集节点。
点击表快照的名称。
在显示的快照窗格中,您可以执行以下操作:
点击架构标签页,查看表快照的架构和政策标记。
点击详细信息表以查看表快照的大小、到期时间、基表、快照时间以及其他信息。
SQL
如需查看表快照的元数据,请查询 INFORMATION_SCHEMA.TABLE_SNAPSHOTS
视图:
在 Google Cloud Console 中,转到 BigQuery 页面。
在查询编辑器中,输入以下语句:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE table_name = 'SNAPSHOT_NAME';
请替换以下内容:
PROJECT_ID
:包含该快照的项目的 ID。DATASET_NAME
:包含该快照的数据集的名称。SNAPSHOT_NAME
:快照的名称。
点击
运行。
如需详细了解如何运行查询,请参阅运行交互式查询。
bq
在 Cloud Shell 中输入以下命令:
bq show \ --format=prettyjson \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
请替换以下内容:
PROJECT_ID
:包含该快照的项目的 ID。DATASET_NAME
:包含该快照的数据集的名称。SNAPSHOT_NAME
:快照的名称。
输出类似于以下内容:
{ "creationTime": "1593194331936", ... "snapshotDefinition": { "baseTableReference": { "datasetId": "myDataset", "projectId": "myProject", "tableId": "mytable" }, "snapshotTime": "2020-06-26T17:58:50.815Z" }, "tableReference": { "datasetId": "otherDataset", "projectId": "myProject", "tableId": "mySnapshot" }, "type": "SNAPSHOT" }
API
使用以下参数调用 tables.get
方法:
参数 | 值 |
---|---|
projectId |
包含该快照的项目的 ID。 |
datasetId |
包含该快照的数据集的名称。 |
tableId |
快照的名称。 |
响应正文类似于以下示例:
{ "kind": "bigquery#table", "etag": "...", "id": "myProject:myDataset.mySnapshot", "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot", "tableReference": { "projectId": "myProject", "datasetId": "myDataset", "tableId": "mySnapshot" }, "description": "...", "schema": { "fields": [ ... ] }, "numBytes": "637931", "numLongTermBytes": "0", "numRows": "33266", "creationTime": "1593194331936", "lastModifiedTime": "1593194331936", "type": "SNAPSHOT", "location": "US", "snapshotDefinition": { "baseTableReference": { "projectId": "myProject", "datasetId": "otherDataset", "tableId": "myTable" }, "snapshotTime": "2020-06-26T17:58:50.815Z" } }