ASSIGNMENTS 视图
INFORMATION_SCHEMA.ASSIGNMENTS
视图包含管理项目中所有当前分配的近乎实时列表。每一行代表一个当前分配。当前分配处于待处理或活跃状态,且尚未删除。如需详细了解预留,请参阅预留简介。
所需权限
如需查询 INFORMATION_SCHEMA.ASSIGNMENTS
视图,您需要拥有项目的 bigquery.reservationAssignments.list
Identity and Access Management (IAM) 权限。以下每个预定义的 IAM 角色均可提供所需的权限:
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
roles/bigquery.user
roles/bigquery.admin
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
INFORMATION_SCHEMA.ASSIGNMENTS
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
ddl |
STRING |
用于创建此分配的 DDL 语句。 |
project_id |
STRING |
管理项目的 ID。 |
project_number |
INTEGER |
管理项目的编号。 |
assignment_id |
STRING |
唯一标识分配的 ID。 |
reservation_name |
STRING |
分配使用的预留的名称。 |
job_type |
STRING |
可以使用该预留的作业的类型。可以是 PIPELINE 、QUERY 、CONTINUOUS 、ML_EXTERNAL 或 BACKGROUND 。 |
assignee_id |
STRING |
唯一标识分配对象资源的 ID。 |
assignee_number |
INTEGER |
唯一标识分配对象资源的编号。 |
assignee_type |
STRING |
分配对象资源的类型。可以是 organization 、folder 或 project 。 |
范围和语法
针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则会从所有区域检索元数据。下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT] |
项目级 | REGION |
可选:PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。
REGION
:任何数据集区域名称。例如 `region-us`
。
示例
如需对非默认项目运行查询,请按以下格式添加项目 ID:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.ASSIGNMENTS
替换以下内容:
- PROJECT_ID:您已分配预留的项目的 ID。
- REGION_NAME:区域的名称。
例如 `myproject`.`region-us`.INFORMATION_SCHEMA.ASSIGNMENTS
。
以下示例获取了项目的当前分配预留及其槽容量。通过将项目的槽使用量与分配给该项目的预留的槽容量进行比较来调试作业性能时,此信息会非常实用。
SELECT reservation.reservation_name, reservation.slot_capacity FROM `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`. INFORMATION_SCHEMA.ASSIGNMENTS_BY_PROJECT assignment INNER JOIN `RESERVATION_ADMIN_PROJECT.region-REGION_NAME`. INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT AS reservation ON (assignment.reservation_name = reservation.reservation_name) WHERE assignment.assignee_id = "PROJECT_ID" AND job_type = "QUERY";