类别:

Information Schema表函数

SERVERLESS_ALERT_HISTORY

此表函数用于查询 无服务器警报 使用历史记录。函数返回的信息包括警报名称和每条警报执行所使用的 Credit。

另请参阅:

SERVERLESS_ALERT_HISTORY 视图 (ACCOUNT_USAGE)

语法

SERVERLESS_ALERT_HISTORY(
  [ DATE_RANGE_START => <constant_expr> ]
  [ , DATE_RANGE_END => <constant_expr> ]
  [ , ALERT_NAME => '<string>' ] )
Copy

实参

所有实参均为可选。

DATE_RANGE_START => constant_expr. DATE_RANGE_END => constant_expr

使用情况窗口的日期/时间范围:

  • 如果未指定结束日期,则会将 CURRENT_DATE 用作范围的结束日期。

  • 如果未指定开始日期,则范围会在 DATE_RANGE_END 开始前 10 分钟开始(即默认值是显示前 10 分钟的使用情况历史记录)。例如,如果 DATE_RANGE_ENDCURRENT_DATE,则默认 DATE_RANGE_START前一天 11:50 PM。

ALERT_NAME => string

要检索使用情况历史记录的警报的名称。仅返回指定警报的使用情况数据。

请注意,警报名称必须放在单引号内。此外,如果警报名称包含任何空格、混合大小写字符或特殊字符,则名称必须在单引号内使用双引号(例如 '"My Alert"''myalert')。

使用说明

  • 表函数仅为 ACCOUNTADMIN 角色或任何已明确授予 MONITOR USAGE 全局权限的角色返回结果。

    备注

    具有 MONITOR USAGE 权限的角色可以查看每个对象的 Credit 使用情况,但不能查看对象名称。

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

  • 历史记录以 1 小时增量显示。

输出

该函数返回以下列:

列名称

数据类型

描述

START_TIME

TIMESTAMP_LTZ

指定时间范围的开始时间。

END_TIME

TIMESTAMP_LTZ

指定时间范围的结束时间。

ALERT_NAME

TEXT

警报的名称。

CREDITS_USED

TEXT

在 START_TIME 和 END_TIME 时段内对无服务器警报使用情况计费的 Credit。

示例

检索账户一小时内的使用情况历史记录:

SELECT *
  FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
    DATE_RANGE_START=>'2024-10-08 19:00:00.000 -0700',
    DATE_RANGE_END=>'2024-10-08 20:00:00.000 -0700'));
Copy

示例输出:

+-------------------------------+-------------------------------+------------+--------------+
| START_TIME                    | END_TIME                      | ALERT_NAME | CREDITS_USED |
|-------------------------------+-------------------------------+------------+--------------|
| 2024-10-08 04:16:22.000 -0700 | 2024-10-08 05:16:22.000 -0700 | A1         |  0.000286714 |
| 2024-10-08 05:16:22.000 -0700 | 2024-10-08 06:16:22.000 -0700 | A1         |  0.007001568 |
+-------------------------------+-------------------------------+------------+--------------+

检索账户过去 12 小时的历史记录:

SELECT *
  FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
    DATE_RANGE_START=>DATEADD(H, -12, CURRENT_TIMESTAMP)));
Copy

检索账户过去一周的历史记录:

SELECT *
  FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
    DATE_RANGE_START=>DATEADD(D, -7, CURRENT_DATE),
    DATE_RANGE_END=>CURRENT_DATE));
Copy

检索您账户中指定警报过去一周的使用情况历史记录:

SELECT *
  FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
    DATE_RANGE_START=>DATEADD(D, -7, CURRENT_DATE),
    DATE_RANGE_END=>CURRENT_DATE,
    ALERT_NAME=>'my_database.my_schema.my_alert'));
Copy
语言: 中文