ROUTINE_OPTIONS 视图
INFORMATION_SCHEMA.ROUTINE_OPTIONS
视图中的每一行对应数据集中每个例程的每个选项。
所需权限
如需查询 INFORMATION_SCHEMA.ROUTINE_OPTIONS
视图,您需要拥有以下 Identity and Access Management (IAM) 权限:
bigquery.routines.get
bigquery.routines.list
以下每个预定义的 IAM 角色都包含获取例程元数据所需的权限:
roles/bigquery.admin
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
当您查询 INFORMATION_SCHEMA.ROUTINE_OPTIONS
视图时,查询结果为数据集中每个例程的每个选项返回一行。
INFORMATION_SCHEMA.ROUTINE_OPTIONS
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
SPECIFIC_CATALOG |
STRING |
包含例程(该例程中定义了选项)的项目的名称 |
SPECIFIC_SCHEMA |
STRING |
包含例程(该例程中定义了选项)的数据集名称 |
SPECIFIC_NAME |
STRING |
例程的名称 |
OPTION_NAME |
STRING |
选项表中的一个名称值 |
OPTION_TYPE |
STRING |
选项表中的一个数据类型值 |
OPTION_VALUE |
STRING |
选项表中的一个值选项 |
选项表
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
description |
STRING |
例程的说明(如果定义了该选项) |
library |
ARRAY |
例程中引用的库的名称。仅适用于 JavaScript UDF。 |
data_governance_type |
DataGovernanceType |
支持的数据治理类型的名称。例如 DATA_MASKING 。 |
范围和语法
针对此视图的查询必须包含数据集或区域限定符。如需了解详情,请参阅语法。下表说明了此视图的区域和资源范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ROUTINE_OPTIONS |
项目级 | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINE_OPTIONS |
数据集级 | 数据集位置 |
- 可选:
PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。 REGION
:任何数据集区域名称。例如region-us
。DATASET_ID
:您的数据集的 ID。如需了解详情,请参阅数据集限定符。
示例
-- Returns metadata for routines in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.ROUTINE_OPTIONS;
-- Returns metadata for routines in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.ROUTINE_OPTIONS;
示例
示例 1:
以下示例通过查询 INFORMATION_SCHEMA.ROUTINE_OPTIONS
视图检索默认项目 (myproject
) 中 mydataset
的所有例程的选项:
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINE_OPTIONS;
结果类似于以下内容:
+-------------------+------------------+---------------+----------------------+---------------+------------------+ | specific_catalog | specific_schema | specific_name | option_name | option_type | option_value | +-------------------+------------------+---------------+----------------------+---------------+------------------+ | myproject | mydataset | myroutine1 | description | STRING | "a description" | | myproject | mydataset | myroutine2 | library | ARRAY<STRING> | ["a.js", "b.js"] | +-------------------+------------------+---------------+----------------------+---------------+------------------+