Vista de ASSIGNMENTS

La vista INFORMATION_SCHEMA.ASSIGNMENTS contiene una lista casi en tiempo real de todas las asignaciones actuales dentro del proyecto de administración. Cada fila representa una asignación única y actual. Una asignación actual está pendiente o activa y no se borró. Para obtener más información acerca de las reservas, consulta Introducción a las reservas.

Permiso necesario

Para consultar la vista INFORMATION_SCHEMA.ASSIGNMENTS, necesitas el permiso bigquery.reservationAssignments.list de Identity and Access Management (IAM) para el proyecto. Cada uno de los siguientes roles predefinidos de IAM incluye el permiso requerido:

  • roles/bigquery.resourceAdmin
  • roles/bigquery.resourceEditor
  • roles/bigquery.resourceViewer
  • roles/bigquery.user
  • roles/bigquery.admin

Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.

Schema

La vista INFORMATION_SCHEMA.ASSIGNMENTS tiene el siguiente esquema:

Nombre de la columna Tipo de datos Valor
ddl STRING La declaración DDL que se usa para crear esta asignación.
project_id STRING ID del proyecto de administración.
project_number INTEGER Número del proyecto de administración.
assignment_id STRING ID que identifica la asignación de forma única.
reservation_name STRING Nombre de la reserva que usa la asignación.
job_type STRING El tipo de trabajo que puede usar la reserva. Puede ser PIPELINE, QUERY, ML_EXTERNAL, o BACKGROUND.
assignee_id STRING ID que identifica el recurso asignado de forma única.
assignee_number INTEGER Número que identifica el recurso asignado de forma única.
assignee_type STRING Tipo de recurso asignado. Puede ser organization, folder o project.

Permiso y sintaxis

Las consultas realizadas a esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se recuperan de todas las regiones. En la siguiente tabla, se explica el permiso de la región para esta vista:

Nombre de la vista Permiso del recurso Permiso de la región
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
Nivel de proyecto REGION
Reemplaza lo siguiente:

  • Opcional: PROJECT_ID: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
  • REGION: Cualquier nombre de región del conjunto de datos. Por ejemplo, region-us.

Ejemplo

Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto con el siguiente formato:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.ASSIGNMENTS

Reemplaza lo siguiente:

  • PROJECT_ID es el ID del proyecto para el que asignaste reservas.
  • REGION_NAME: es el nombre de la región.

Por ejemplo, `myproject`.`region-us`.INFORMATION_SCHEMA.ASSIGNMENTS.

En el siguiente ejemplo, se indica cómo obtener la reserva asignada actualmente a un proyecto y la capacidad de la ranura. Esta información es útil para depurar el rendimiento del trabajo mediante la comparación del uso de ranuras del proyecto con la capacidad de la reserva asignada a ese proyecto.

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";