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。如果未指定,则使用默认项目。

    示例

    -- 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"] |
    +-------------------+------------------+---------------+----------------------+---------------+------------------+