Gestire le configurazioni predefinite
Panoramica
Per gestire i job, puoi configurare le impostazioni predefinite all'interno di BigQuery. Le impostazioni che utilizzano questo servizio sono configurate a livello di organizzazione o di progetto, ma possono essere sostituite a livello di sessione o job. Per configurare il comportamento predefinito, puoi configurare le impostazioni predefinite in combinazione con i criteri dell'organizzazione correlati.
Prezzi
Non sono previsti costi aggiuntivi per l'utilizzo del servizio di configurazione di BigQuery. Per ulteriori informazioni, consulta i prezzi.
Configurazioni predefinite
Questo documento descrive come creare e recuperare le impostazioni di configurazione predefinite a livello di organizzazione o di progetto. Puoi specificare configurazioni predefinite per queste impostazioni:
default_time_zone
: il fuso orario predefinito da utilizzare nelle funzioni SQL basate sul fuso orario, quando un fuso orario non è specificato come argomento. Questa configurazione non si applica alle tabelle partizionate per colonne dell'unità di tempo (che utilizzano UTC come fuso orario), alla pianificazione di trasferimento di Storage Transfer o al caricamento dei dati con lo strumento a riga di comandobq
. Per ulteriori informazioni, consulta la sezione Fusi orari.default_kms_key_name
: la chiave predefinita di Cloud Key Management Service per criptare i dati della tabella, incluse le tabelle temporanee o anonime. Per saperne di più, vedi Chiavi Cloud KMS gestite dal cliente.default_query_job_timeout_ms
: il tempo predefinito dopo il quale scade un job di query. Il periodo di timeout deve essere compreso tra cinque minuti e sei ore.
Specifica le configurazioni predefinite
Questa sezione descrive come creare una configurazione.
Autorizzazioni obbligatorie
Per creare una configurazione, devi disporre dell'autorizzazione bigquery.config.update
Identity and Access Management (IAM). Il ruolo IAM predefinito roles/bigquery.admin
include le autorizzazioni necessarie per creare una configurazione.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Configura le impostazioni predefinite
Puoi configurare le impostazioni predefinite a livello di organizzazione o di progetto utilizzando le seguenti istruzioni SQL. Quando crei la configurazione, devi specificare l'area geografica in cui applicarla. Puoi utilizzare una sola regione per ogni istruzione.
Configura le impostazioni dell'organizzazione
Per configurare le impostazioni dell'organizzazione, utilizza l'istruzione DDL ALTER ORGANIZATION SET OPTIONS
. L'esempio seguente imposta il fuso orario predefinito su America/Chicago
, la chiave Cloud KMS predefinita su una chiave di esempio e il timeout della query predefinito su 30 minuti:
ALTER ORGANIZATION SET OPTIONS ( `REGION.default_time_zone `= 'America/Chicago', -- Ensure all service accounts under the organization have permission to KMS_KEY `REGION.default_kms_key_name` = KMS_KEY, `REGION.default_query_job_timeout_ms` = 1800000);
L'esempio seguente cancella tutte le impostazioni predefinite a livello di organizzazione.
ALTER ORGANIZATION SET OPTIONS ( `REGION.default_time_zone` = NULL, `REGION.default_kms_key_name` = NULL, `REGION.default_query_job_timeout_ms` = NULL);
Configura le impostazioni del progetto
Per configurare le impostazioni del progetto, utilizza l'istruzione DDL ALTER PROJECT SET OPTIONS
. L'istruzione DDL ALTER PROJECT SET OPTIONS
accetta facoltativamente la variabile project_id
. Se project_id
non è specificato, per impostazione predefinita viene utilizzato il progetto attuale in cui viene eseguita la query. L'esempio seguente imposta il fuso orario predefinito su America/Los_Angeles
, la chiave Cloud KMS predefinita su una chiave di esempio e il timeout della query predefinita su un'ora:
ALTER PROJECT project_id SET OPTIONS ( `REGION.default_time_zone` = 'America/Los_Angeles', -- Ensure all service accounts under the project have permission to KMS_KEY `REGION.default_kms_key_name` = KMS_KEY, `REGION.default_query_job_timeout_ms` = 3600000);
L'esempio seguente cancella tutte le impostazioni predefinite a livello di progetto. Le impostazioni predefinite utilizzano le impostazioni predefinite a livello di organizzazione, se presenti. In caso contrario, tutte le impostazioni predefinite vengono applicate ai valori predefiniti globali.
ALTER PROJECT project_id SET OPTIONS ( `REGION.default_time_zone` = NULL, `REGION.default_kms_key_name` = NULL, `REGION.default_query_job_timeout_ms` = NULL);
Le configurazioni a livello di progetto hanno la precedenza su quelle a livello di organizzazione. Le configurazioni a livello di progetto possono a loro volta essere sostituite da configurazioni a livello di sessione, che possono essere sostituite dalle configurazioni a livello di job.
Recupera i valori di configurazione
Puoi visualizzare le impostazioni di configurazione predefinite di un'organizzazione o di un progetto visualizzando lo schema di informazioni. Le query da eseguire sono tre:
INFORMATION_SCHEMA.PROJECT_OPTIONS
: le configurazioni applicate a un progetto.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS
: le configurazioni effettive applicate a un progetto. Le configurazioni effettive includono tutte le configurazioni impostate a livello di progetto così come tutte le impostazioni ereditate dal progetto da un'organizzazione.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS
: le configurazioni applicate a un'organizzazione.
Potrebbero essere necessari alcuni minuti prima che le nuove configurazioni diventino effettive e si riflettano nella vista INFORMATION_SCHEMA
.
Autorizzazioni obbligatorie
Per recuperare i valori di configurazione, devi disporre dell'autorizzazione IAM bigquery.config.get
.
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere la configurazione dalla vista INFORMATION_SCHEMA
:
roles/bigquery.jobUser
roles/bigquery.dataEditor
roles/bigquery.dataUser
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Esempi
Per visualizzare le configurazioni in un'organizzazione nella regione us
, esegui la seguente query:
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;
Per visualizzare le configurazioni effettive nel progetto predefinito nell'area geografica us
, esegui la seguente query:
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;
Per visualizzare le configurazioni nel progetto predefinito nella regione us
, esegui la seguente query:
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;