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.resourceAdminroles/bigquery.resourceEditorroles/bigquery.resourceViewerroles/bigquery.userroles/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 |
-
(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";