Visualizzazione PARAMETRI

La visualizzazione INFORMATION_SCHEMA.PARAMETERS contiene una riga per ogni parametro di ogni routine in un set di dati.

Autorizzazioni obbligatorie

Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.PARAMETERS, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):

  • bigquery.routines.get
  • bigquery.routines.list

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati di routine:

  • roles/bigquery.admin
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer

Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Schema

Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.PARAMETERS, i risultati della query contengono una riga per ogni parametro di ogni routine in un set di dati.

La vista INFORMATION_SCHEMA.PARAMETERS ha lo schema seguente:

Nome colonna Tipo di dati Valore
specific_catalog STRING Il nome del progetto che contiene il set di dati in cui è definita la routine contenente il parametro
specific_schema STRING Il nome del set di dati che contiene la routine in cui è definito il parametro
specific_name STRING Il nome della routine in cui è definito il parametro
ordinal_position STRING La posizione del parametro basata su 1 o 0 per il valore restituito
parameter_mode STRING La modalità del parametro, ovvero IN, OUT, INOUT o NULL
is_result STRING Se il parametro è il risultato della funzione, ovvero YES o NO
parameter_name STRING Il nome del parametro
data_type STRING Il tipo di parametro sarà ANY TYPE se definito come tipo qualsiasi
parameter_default STRING Il valore predefinito del parametro come valore letterale SQL, sempre NULL
is_aggregate STRING Indica se si tratta di un parametro aggregato, sempre NULL

Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo anziché utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query se lo schema sottostante cambia.

Ambito e sintassi

Le query su questa vista devono includere un qualificatore di set di dati o di regione. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente spiega gli ambiti di regione e risorsa per questa visualizzazione:

Nome vista Ambito risorsa Ambito regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS Livello progetto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS Livello del set di dati Posizione del set di dati
Sostituisci quanto segue:
  • (Facoltativo) PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: `region-us`.
  • DATASET_ID: l'ID del set di dati. Per maggiori informazioni, vedi Qualificatore del set di dati.

Esempio

-- Returns metadata for parameters of a routine in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.PARAMETERS;

-- Returns metadata for parameters of a routine in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.PARAMETERS;

Esempio

Esempio

Per eseguire la query su un set di dati in un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato:

`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • DATASET_ID: l'ID del set di dati.

Ad esempio, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT.

L'esempio seguente recupera tutti i parametri dalla vista INFORMATION_SCHEMA.PARAMETERS. I metadati restituiti riguardano le routine in mydataset nel tuo progetto predefinito, myproject.

SELECT
  * EXCEPT(is_typed)
FROM
  mydataset.INFORMATION_SCHEMA.PARAMETERS
WHERE
  table_type = 'BASE TABLE';

Il risultato è simile al seguente:

+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+
| specific_catalog  | specific_schema  | specific_name | ordinal_position | parameter_mode | is_result | parameter_name | data_type | parameter_default | is_aggregate |
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+
| myproject         | mydataset        | myroutine1    | 0                | NULL           | YES       | NULL           | INT64     | NULL              | NULL         |
| myproject         | mydataset        | myroutine1    | 1                | NULL           | NO        | x              | INT64     | NULL              | NULL         |
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+