Gestisci routine

In BigQuery, le routine sono un tipo di risorsa che include quanto segue:

Questo documento descrive le attività comuni a tutti i tipi di routine in BigQuery.

Autorizzazioni

Per eseguire una routine, devi avere l'autorizzazione bigquery.routines.get attiva il set di dati che contiene la routine.

Per impostazione predefinita, devi disporre anche 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 quelle risorse per conto del chiamante. Per maggiori informazioni, consulta Funzioni autorizzate.

Creare 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 un insieme di parametri Routine risorsa.

Elenco delle routine

Per elencare le routine in un set di dati, devi disporre delle autorizzazioni bigquery.routines.get e bigquery.routines.list.

Console

  1. Nella console Google Cloud, apri la pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.

  3. Espandi l'elenco Routine.

SQL

Esegui la query sulla vista INFORMATION_SCHEMA.ROUTINES:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, inserisci la seguente istruzione:

    SELECT
      COLUMN_LIST
    FROM
       { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.

Sostituisci quanto segue:

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 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 metodo routines.list con l'ID del set di dati.

Visualizzare il corpo di una routine

Per visualizzare il corpo di una routine, devi disporre dell'autorizzazione bigquery.routines.get.

Console

  1. Nella console Google Cloud, apri la pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.

  3. Espandi l'elenco Routine.

  4. Seleziona la routine. Il corpo della routine è elencato in Routine query.

SQL

Seleziona la colonna routine_definition di INFORMATION_SCHEMA.ROUTINES visualizzazione:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor query, inserisci la seguente istruzione:

    SELECT
      routine_definition
    FROM
      { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES
    WHERE
      routine_name = ROUTINE_NAME;

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire le query, consulta Eseguire 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 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 metodo routines.get con l'ID set di dati e il nome della routine. Il corpo della routine viene restituito nell'oggetto Routine.

Eliminare una routine

Per eliminare una routine, devi disporre dell'autorizzazione bigquery.routines.delete.

Console

  1. Nella console Google Cloud, apri la pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.

  3. Espandi l'elenco Routine.

  4. Seleziona la routine.

  5. Espandi l'opzione Azioni e fai clic su Elimina.

  6. 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:

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 metodo routines.delete con l'ID del set di dati e il nome della routine.