Visualizzazione ASSEGNAZIONI

La visualizzazione INFORMATION_SCHEMA.ASSIGNMENTS contiene un elenco quasi in tempo reale di tutte le assegnazioni correnti all'interno del progetto di amministrazione. Ogni riga rappresenta un singolo incarico attuale. Un'assegnazione attuale è in attesa o attiva e non è stata eliminata. Per saperne di più sulle prenotazioni, consulta Introduzione alle prenotazioni.

Autorizzazione obbligatoria

Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.ASSIGNMENTS, devi disporre dell'autorizzazione Identity and Access Management (IAM) bigquery.reservationAssignments.list 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 lo schema seguente:

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, CONTINUOUS, ML_EXTERNAL o BACKGROUND.
assignee_id STRING ID che identifica in modo univoco la risorsa assegnataria.
assignee_number INTEGER Numero che identifica in modo univoco la risorsa assegnataria.
assignee_type STRING Tipo di risorsa assegnatario. Può essere organization, folder o project.

Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo anziché utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query se lo schema sottostante cambia.

Ambito e sintassi

Le query su questa visualizzazione devono includere un qualificatore di 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 vista Ambito risorsa Ambito regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENTS[_BY_PROJECT]
Livello progetto REGION
Sostituisci quanto segue:
  • (Facoltativo) PROJECT_ID: l'ID del tuo Google Cloud progetto. 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 recupera la prenotazione attualmente assegnata di un progetto e la relativa capacità degli slot. Queste informazioni sono utili per il debug delle prestazioni dei job confrontando l'utilizzo degli slot del progetto con la capacità degli slot della prenotazione assegnata a quel 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";