Visualizzazione ASSIGNMENTS

La visualizzazione INFORMATION_SCHEMA.ASSIGNMENTS contiene un elenco di tutte le assegnazioni attuali all'interno del progetto di amministrazione. Ogni riga rappresenta una singola assegnazione corrente. Un'assegnazione attuale è in attesa o attiva e non è stata eliminata. Per ulteriori informazioni sulla prenotazione, consulta la sezione Introduzione alle prenotazioni.

Autorizzazione obbligatoria

Per eseguire una query sulla vista INFORMATION_SCHEMA.ASSIGNMENTS, devi disporre dell'autorizzazione bigquery.reservationAssignments.list Identity and Access Management (IAM) per il progetto. Ciascuno dei seguenti ruoli IAM predefiniti include l'autorizzazione richiesta:

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

Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Schema

La vista INFORMATION_SCHEMA.ASSIGNMENTS ha il seguente schema:

Nome colonna Tipo di dati Valore
ddl STRING L'istruzione DDL utilizzata per creare questa assegnazione.
project_id STRING ID del progetto di amministrazione.
project_number INTEGER Numero del progetto di amministrazione.
assignment_id STRING ID che identifica in modo univoco l'assegnazione.
reservation_name STRING Nome della prenotazione utilizzata dall'assegnazione.
job_type STRING Il tipo di job che può utilizzare la prenotazione. Può essere PIPELINE, QUERY, ML_EXTERNAL o BACKGROUND.
assignee_id STRING ID che identifica in modo univoco la risorsa assegnatario.
assignee_number INTEGER Numero che identifica in modo univoco la risorsa assegnatario.
assignee_type STRING Tipo di risorsa assegnatario. Può essere organization, folder o project.

Ambito e sintassi

Le query relative a questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutte le regioni. La tabella seguente spiega l'ambito della regione per questa visualizzazione:

Nome visualizzazione Ambito risorsa Ambito regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
A livello di progetto REGION
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: region-us.

Esempio

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto a cui hai assegnato le prenotazioni.
  • REGION_NAME: il nome della regione.

Ad esempio, `myproject`.`region-us`.INFORMATION_SCHEMA.ASSIGNMENTS.

L'esempio seguente restituisce la prenotazione attualmente assegnata a un progetto e la relativa capacità di slot. Queste informazioni sono utili per il debug delle prestazioni del job confrontando l'utilizzo degli slot del progetto con la capacità degli slot della prenotazione assegnata al progetto.

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