Gestisci le routine
La gestione delle routine in BigQuery ti consente di organizzare, gestire e riutilizzare la logica personalizzata nel tuo data warehouse. Capire come creare, visualizzare ed eliminare queste risorse ti consente di amministrare in modo efficace le stored procedure, le funzioni definite dall'utente (UDF) e le funzioni di tabella.
Autorizzazioni
Per fare riferimento a una routine in una query SQL, devi disporre dell'autorizzazione bigquery.routines.get. Per concedere l'accesso alle routine, puoi concedere un ruolo IAM con l'autorizzazione bigquery.routines.get sul set di dati o sulla singola routine. La concessione dell'accesso a livello di set di dati consente all'entità di accedere a tutte le routine nel set di dati. Per saperne di più, consulta Controlla l'accesso alle risorse con IAM.
Per impostazione predefinita, devi anche disporre dell'autorizzazione per accedere alle risorse a cui fa riferimento la routine, ad esempio tabelle o viste. Per le funzioni definite dall'utente e le funzioni tabella, puoi autorizzare la funzione ad accedere a queste risorse per conto del chiamante. Per saperne di più, consulta Funzioni autorizzate.
Crea una routine
Per creare una routine, devi disporre dell'autorizzazione bigquery.routines.create.
SQL
A seconda del tipo di routine, esegui una delle seguenti istruzioni DDL:
API
Chiama il metodo routines.insert con una risorsa Routine definita.
Elenca le routine
Per elencare le routine in un set di dati, devi disporre delle autorizzazioni bigquery.routines.get e bigquery.routines.list.
Console
Nella console Cloud de Confiance , apri la pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
Nel riquadro Explorer, espandi il progetto, fai clic su Set di dati, quindi seleziona un set di dati.
Fai clic sulla scheda Routine.
SQL
Esegui una query sulla vista INFORMATION_SCHEMA.ROUTINES:
Nella console Cloud de Confiance , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
Fai clic su Esegui.
Per saperne di più su come eseguire le query, consulta Esegui una query interattiva.
Sostituisci quanto segue:
- COLUMN_LIST: un elenco separato da virgole di colonne della vista
INFORMATION_SCHEMA.ROUTINES. - DATASET: il nome di un set di dati nel progetto.
- REGION: un qualificatore di regione.
Esempio:
SELECT routine_name, routine_type, routine_body FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
+------------------+----------------+--------------+
| routine_name | routine_type | routine_body |
+------------------+----------------+--------------+
| AddFourAndDivide | FUNCTION | SQL |
| create_customer | PROCEDURE | SQL |
| names_by_year | TABLE FUNCTION | SQL |
+------------------+----------------+--------------+
bq
Utilizza il comando bq ls con il flag --routines:
bq ls --routines DATASET
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel progetto.
Esempio:
bq ls --routines mydataset
Id Routine Type Language Creation Time Last Modified Time
------------------ ----------------------- ---------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL 05 May 01:12:03 05 May 01:12:03
create_customer PROCEDURE SQL 21 Apr 19:55:51 21 Apr 19:55:51
names_by_year TABLE_VALUED_FUNCTION SQL 01 Sep 22:59:17 01 Sep 22:59:17
API
Chiama il metodo routines.list con l'ID del set di dati.
Visualizza il corpo di una routine
Per visualizzare il corpo di una routine, devi disporre dell'autorizzazione bigquery.routines.get.
Console
Nella console Cloud de Confiance , apri la pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Explorer, espandi il progetto, fai clic su Set di dati, quindi seleziona un set di dati.
Fai clic sulla scheda Routine.
Seleziona la routine. Il corpo della routine è elencato in Query di routine.
SQL
Seleziona la colonna routine_definition della
vista INFORMATION_SCHEMA.ROUTINES:
Nella console Cloud de Confiance , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
Fai clic su Esegui.
Per saperne di più su come eseguire le query, consulta Esegui una query interattiva.
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel progetto.
- REGION: un qualificatore di regione.
- ROUTINE_NAME: il nome della routine.
Esempio:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y |
+--------------------+
bq
Utilizza il comando bq show con il flag --routine:
bq show --routine DATASET.ROUTINE_NAME
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
bq show --routine mydataset.AddFourAndDivide
Id Routine Type Language Signature Definition Creation Time Last Modified Time
------------------ ----------------- ---------- ------------------------------- ------------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL (x INT64, y INT64) -> FLOAT64 (x + 4) / y 05 May 01:12:03 05 May 01:12:03
API
Chiama il metodo routines.get con l'ID del set di dati e il nome della routine. Il corpo della routine viene restituito nell'oggetto Routine.
Elimina una routine
Per eliminare una routine, devi disporre dell'autorizzazione bigquery.routines.delete.
Console
Nella console Cloud de Confiance , apri la pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Explorer, espandi il progetto, fai clic su Set di dati, quindi seleziona un set di dati.
Fai clic sulla scheda Routine.
Seleziona la routine.
Nel riquadro dei dettagli, fai clic su Elimina.
Digita
"delete"nella finestra di dialogo, quindi fai clic su Elimina per confermare.
SQL
A seconda del tipo di routine, esegui una delle seguenti istruzioni DDL:
- Stored procedure:
DROP PROCEDURE - Funzione definita dall'utente:
DROP FUNCTION - Funzione tabella:
DROP TABLE FUNCTION
Esempio:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
bq
Utilizza il comando bq rm con il flag --routine:
bq rm --routine DATASET.ROUTINE_NAME
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
bq rm --routine mydataset.AddFourAndDivide
API
Chiama il metodo routines.delete con l'ID del set di dati e il nome della routine.