类别:

Information Schema表函数

DATA_METRIC_FUNCTION_REFERENCES

为每个获分配指定数据指标函数的对象返回一行,或者 为分配给指定对象的每个数据指标函数返回一行。

另请参阅:

:doc:`/sql-reference/account-usage/data_metric_function_references`(Account Usage 视图)

语法

DATA_METRIC_FUNCTION_REFERENCES(
  METRIC_NAME => '<string>' )

DATA_METRIC_FUNCTION_REFERENCES(
  REF_ENTITY_NAME => '<string>' ,
  REF_ENTITY_DOMAIN => '<string>'
  )
Copy

实参

METRIC_NAME => 'string'

指定数据指标函数的名称。

  • 整个数据指标名称必须放在单引号内。

  • 如果数据指标名称区分大小写或包含任何特殊字符或空格,则需要双引号来处理大小写/字符。双引号必须放在单引号内,例如 '"<metric_name>"'

REF_ENTITY_NAME => 'string'

添加数据指标函数的对象名称,例如 table_nameview_nameexternal_table_name

  • 整个对象名称必须放在单引号内。

  • 如果对象名称区分大小写或包含任何特殊字符或空格,则需要使用双引号来处理大小写/字符。双引号必须放在单引号内,例如 '"<table_name>"'

REF_ENTITY_DOMAIN => 'string'

添加数据指标函数的对象类型,例如表或物化视图。

对所有 支持的表类型 使用 'TABLE'

返回

该函数返回以下列:

数据类型

描述

metric_database_name

VARCHAR

存储数据指标函数的数据库。

metric_schema_name

VARCHAR

存储数据指标函数的架构。

metric_name

VARCHAR

数据指标函数的名称。

argument_signature

VARCHAR

指标实参的类型签名。

data_type

VARCHAR

数据指标函数的返回数据类型。

ref_database_name

VARCHAR

数据库名称,包含添加了数据指标函数的对象。

ref_schema_name

VARCHAR

架构名称,包含添加了数据指标函数的对象。

ref_entity_name

VARCHAR

设置了数据指标函数的表或视图的名称。

ref_entity_domain

VARCHAR

设置了数据指标函数的对象类型(表、视图)。

ref_arguments

ARRAY

标识用于评估规则的参考实参。

ref_id

VARCHAR

数据指标函数与表或视图关联的唯一标识符。

schedule

VARCHAR

在表或视图上运行数据指标函数的计划。时间表的值始终是最新且有效的时间表。

schedule_status

VARCHAR

指标关联的状态。以下其中一项:

STARTED

计划运行的表或视图的数据指标关联。

STARTED_AND_PENDING_SCHEDULE_UPDATE

数据指标计划发生变化,新计划尚未生效。允许 Snowflake 更新计划,并将计划与数据指标函数同步。在更新完成之前,该值是临时值。

如果您使用 ALTER TABLE 或 ALTER VIEW 命令取消设置计划,该值将保持不变,直到设置新的计划。

SUSPENDED

表或视图上的数据指标关联未计划运行。当调用函数的角色 没有 表的 OWNERSHIP 权限时,也会出现此值。

For a full list of possible values, see Usage notes: Suspended statuses.

data_quality_notification_status

VARCHAR

Indicates whether notifications are being sent when there is an expectation violation or an anomaly in data quality. Possible values are:

  • ENABLED --- Notifications are turned on for the database that contains the object and no one has turned off notifications at the object level.

  • DISABLED --- Notifications aren't being sent for data quality issues uncovered by the DMF.

  • ERROR_INSUFFICIENT_PRIVILEGE --- Notifications aren't being sent because the database owner doesn't have the required privileges. For a list of the required privileges, see 授予权限.

anomaly_detection_status

VARCHAR

Indicates whether anomaly detection is enabled for the association between the DMF and the object. If the value is TRAINING_IN_PROGRESS, see 关于训练周期.

anomaly_detection_sensitivity_level

VARCHAR

The sensitivity level of anomaly detection. For more information, see 调整异常检测的灵敏度级别.

schedule

VARCHAR

Access control role with which the DMF runs. For more information, see Required privilege on the table or view.

exclude_table_types

VARCHAR

保留以供将来使用。

访问控制要求

根据授予执行查询的角色的权限返回结果:

用于执行此操作的 角色 必须至少具有以下 权限

  • 数据指标函数的任何受支持权限。

    • 对于系统 DMFs,该角色可获授 DATA_METRIC_USER 数据库角色。

  • 表或视图的 SELECT 权限。

使用说明

  • 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数必须使用完全限定的对象名称。有关更多详细信息,请参阅 Snowflake Information Schema

  • 选择一种语法变体来执行查询。混合实参会导致错误和查询失败。

    REF_ENTITY_NAMEREF_ENTITY_DOMAIN 的实参值必须包含在一起,否则查询失败。

  • 如果指定的对象名称不存在,或者查询操作员未被授权查看对象上的任何数据指标函数,Snowflake 将返回错误。如果允许操作员查看数据指标关联的子集,Snowflake 可以返回数据指标关联的结果集。

  • 不支持的对象类型被列作 REF_ENTITY_DOMAIN`(如 `'stream'``),则返回错误。

Usage notes: Suspended statuses

When the DMF association is suspended, the status can be one of the following:

SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • 表已删除。

  • The schema or database that contains the table is dropped.

  • 表所有者角色无法解析包含该表的架构或数据库。

    “已解决”表示调用该函数的角色未拥有包含该表的架构或数据库的相应权限。

SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • DMF 已删除。

  • 包含 DMF 的架构或数据库已删除。

  • 表所有者角色无法解析包含 DMF 的架构或数据库。

SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

以下其中一项:

  • 目标表列已删除。

  • 包含该列的架构或数据库已删除。

  • 表所有者角色无法解析包含该列的架构或数据库。

SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION

表所有者角色没有 EXECUTE DATA METRIC FUNCTION 权限。

SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

未在账户级别设置事件表。

示例

要为分配给名为 hr.tables.empl_info 表的每个 DMF 返回一行,请执行以下操作:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      REF_ENTITY_NAME => 'hr.tables.empl_info',
      REF_ENTITY_DOMAIN => 'table'
    )
  );
Copy

要为每个在该表或视图上设置了名为 count_positive_numbers 的 DMF 的对象(表或视图)返回一行,请执行以下操作:

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      METRIC_NAME => 'governance.dmfs.count_positive_numbers'
    )
  );
Copy