Faça a gestão das rotinas
No BigQuery, as rotinas são um tipo de recurso que inclui o seguinte:
- Procedimentos armazenados.
 - Funções definidas pelo utilizador (UDFs), incluindo funções remotas.
 - Funções de tabela.
 
Este documento descreve as tarefas comuns a todos os tipos de rotinas no BigQuery.
Autorizações
Para fazer referência a uma rotina numa consulta SQL, tem de ter a autorização bigquery.routines.get. Para conceder acesso a rotinas, pode conceder uma função do IAM com a autorização bigquery.routines.get no conjunto de dados ou na rotina individual. A concessão de acesso ao nível do conjunto de dados dá ao principal acesso a todas as rotinas no conjunto de dados. Para mais informações, consulte o artigo
Controle o acesso aos recursos com a IAM.
Por predefinição, também precisa de autorização para aceder a quaisquer recursos aos quais a rotina faça referência, como tabelas ou vistas. Para FDUs e funções de tabela, pode autorizar a função a aceder a esses recursos em nome do autor da chamada. Para mais informações, consulte o artigo Funções autorizadas.
Crie uma rotina
Para criar uma rotina, tem de ter a autorização bigquery.routines.create.
SQL
Consoante o tipo de rotina, execute uma das seguintes declarações DDL:
API
Chame o método routines.insert com um recurso Routine definido.
Listar rotinas
Para listar as rotinas num conjunto de dados, tem de ter as autorizações bigquery.routines.get e bigquery.routines.list.
Consola
Na Google Cloud consola, abra a página do BigQuery.
No painel esquerdo, clique em Explorador:

Se não vir o painel do lado esquerdo, clique em Expandir painel do lado esquerdo para o abrir.
No painel Explorador, expanda o seu projeto, clique em Conjuntos de dados e, de seguida, selecione um conjunto de dados.
Clique no separador Rotinas.
SQL
Consulte a vista INFORMATION_SCHEMA.ROUTINES:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Substitua o seguinte:
- COLUMN_LIST: uma lista de colunas separadas por vírgulas da vista 
INFORMATION_SCHEMA.ROUTINES. - DATASET: o nome de um conjunto de dados no seu projeto.
 - REGION: um qualificador de região.
 
Exemplo:
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
Use o comando bq ls
com a flag --routines:
bq ls --routines DATASET
Substitua o seguinte:
- DATASET: o nome de um conjunto de dados no seu projeto.
 
Exemplo:
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
Chame o método routines.list
com o ID do conjunto de dados.
Veja o corpo de uma rotina
Para ver o corpo de uma rotina, tem de ter a autorização bigquery.routines.get.
Consola
Na Google Cloud consola, abra a página do BigQuery.
No painel esquerdo, clique em Explorador:

No painel Explorador, expanda o seu projeto, clique em Conjuntos de dados e, de seguida, selecione um conjunto de dados.
Clique no separador Rotinas.
Selecione a rotina. O corpo da rotina é apresentado em Consulta de rotina.
SQL
Selecione a coluna routine_definition da
INFORMATION_SCHEMA.ROUTINES vista:
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
Substitua o seguinte:
- DATASET: o nome de um conjunto de dados no seu projeto.
 - REGION: um qualificador de região.
 - ROUTINE_NAME: o nome da rotina.
 
Exemplo:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y        |
+--------------------+
bq
Use o comando bq show
com a flag --routine:
bq show --routine DATASET.ROUTINE_NAME
Substitua o seguinte:
- DATASET: o nome de um conjunto de dados no seu projeto.
 - ROUTINE_NAME: o nome da rotina.
 
Exemplo:
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
Chame o método routines.get com o ID do conjunto de dados e o nome da rotina. O corpo da rotina é devolvido no objeto Routine.
Elimine uma rotina
Para eliminar uma rotina, tem de ter a autorização bigquery.routines.delete.
Consola
Na Google Cloud consola, abra a página do BigQuery.
No painel esquerdo, clique em Explorador:

No painel Explorador, expanda o seu projeto, clique em Conjuntos de dados e, de seguida, selecione um conjunto de dados.
Clique no separador Rotinas.
Selecione a rotina.
No painel de detalhes, clique em Eliminar.
Escreva
"delete"na caixa de diálogo e, de seguida, clique em Eliminar para confirmar.
SQL
Consoante o tipo de rotina, execute uma das seguintes declarações DDL:
- Procedimento armazenado: 
DROP PROCEDURE - Função definida pelo utilizador: 
DROP FUNCTION - Função de tabela: 
DROP TABLE FUNCTION 
Exemplo:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
bq
Use o comando bq rm
com a flag --routine:
bq rm --routine DATASET.ROUTINE_NAME
Substitua o seguinte:
- DATASET: o nome de um conjunto de dados no seu projeto.
 - ROUTINE_NAME: o nome da rotina.
 
Exemplo:
bq rm --routine mydataset.AddFourAndDivide
API
Chame o método routines.delete com o ID do conjunto de dados e o nome da rotina.