Gestisci le routine
In BigQuery, le routine sono un tipo di risorsa che include quanto segue:
- Stored procedure.
- Funzioni definite dall'utente (UDF), incluse funzioni remote e funzioni di aggregazione definite dall'utente.
- Funzioni tabella.
Questo documento descrive le attività comuni a tutti i tipi di routine in BigQuery.
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 concede al principale l'accesso a tutte le routine nel set di dati. Per saperne di più, consulta
Controllare l'accesso alle risorse con IAM.
Per impostazione predefinita, devi anche disporre dell'autorizzazione per accedere a tutte le 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 routines.insert metodo
con una risorsa definita
Routine.
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 Google Cloud console, 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 a sinistra per aprirlo.
Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e seleziona un set di dati.
Fai clic sulla scheda Routine.
SQL
Esegui una query sulla vista INFORMATION_SCHEMA.ROUTINES:
Nella Google Cloud console, 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 Eseguire una query interattiva.
Sostituisci quanto segue:
- COLUMN_LIST: un elenco di colonne separate da virgole dalla vista
INFORMATION_SCHEMA.ROUTINES. - DATASET: il nome di un set di dati nel tuo 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 bq ls comando
con il --routines flag:
bq ls --routines DATASET
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo 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 routines.list metodo
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 Google Cloud console, apri la pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e 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
INFORMATION_SCHEMA.ROUTINES vista:
Nella Google Cloud console, 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 Eseguire una query interattiva.
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo 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 bq show comando
con il --routine flag:
bq show --routine DATASET.ROUTINE_NAME
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo 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 routines.get metodo
con l'ID del set di dati e il nome della routine. Il corpo della
routine viene restituito nell'
Routineoggetto.
Elimina una routine
Per eliminare una routine, devi disporre dell'autorizzazione bigquery.routines.delete.
Console
Nella Google Cloud console, apri la pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Nel riquadro Spazio di esplorazione , espandi il progetto, fai clic su Set di dati e 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 tuo progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
bq rm --routine mydataset.AddFourAndDivide
API
Chiama il routines.delete metodo
con l'ID del set di dati e il nome della routine.