Visualização de ATRIBUIÇÕES

A visualização INFORMATION_SCHEMA.ASSIGNMENTS contém uma lista quase em tempo real de todas as atribuições atuais no projeto de administração. Cada linha representa uma única atribuição atual. Uma atribuição atual está pendente ou ativa e não foi excluída. Para mais informações sobre reservas, consulte Introdução às reservas.

Permissão necessária

Para consultar a visualização INFORMATION_SCHEMA.ASSIGNMENTS, é preciso ter a permissão bigquery.reservationAssignments.list Identity and Access Management (IAM) para o projeto. Cada um dos seguintes papéis predefinidos do IAM inclui a permissão necessária:

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

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Esquema

A visualização INFORMATION_SCHEMA.ASSIGNMENTS tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
ddl STRING A instrução DDL usada para criar esta atribuição.
project_id STRING ID do projeto de administração.
project_number INTEGER Número do projeto de administração.
assignment_id STRING Código que identifica exclusivamente a atribuição.
reservation_name STRING Nome da reserva que a atribuição usa.
job_type STRING O tipo de job que pode usar a reserva. Pode ser PIPELINE, QUERY, CONTINUOUS, ML_EXTERNAL ou BACKGROUND.
assignee_id STRING Código que identifica exclusivamente o recurso do usuário.
assignee_number INTEGER Número que identifica exclusivamente o recurso atribuído.
assignee_type STRING Tipo de recurso atribuído. Pode ser organization, folder ou project.

Escopo e sintaxe

As consultas nessa visualização precisam incluir um qualificador de região. Se você não especificar um qualificador regional, os metadados serão recuperados de todas as regiões. A tabela a seguir explica o escopo da região dessa visualização:

Nome da visualização Escopo do recurso Escopo da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
Nível do projeto REGION
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
+ REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us.

Exemplo

Para executar a consulta em um projeto diferente do projeto padrão, adicione o ID do projeto no seguinte formato:

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

Substitua:

  • PROJECT_ID: o ID do projeto ao qual você atribuiu reservas.
  • REGION_NAME: o nome da região.

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

O exemplo a seguir recebe a reserva atualmente atribuída e a respectiva capacidade de slot. Essas informações são úteis para depurar o desempenho do job comparando o uso do slot do projeto com a capacidade do slot da reserva atribuída a ele.

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