ALTER RESOURCE MONITOR

修改现有 资源监视器 的属性和触发器。使用此命令可以增加或减少 Credit 配额、更改调度信息或更改/替换资源监视器的触发器。

另请参阅:

CREATE RESOURCE MONITORDROP RESOURCE MONITORSHOW RESOURCE MONITORSALTER WAREHOUSEALTER ACCOUNT

语法

ALTER RESOURCE MONITOR [ IF EXISTS ] <name> [ SET { [ CREDIT_QUOTA = <num> ]
                                                    [ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
                                                    [ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
                                                    [ END_TIMESTAMP = <timestamp> ]
                                                    [ NOTIFY_USERS = ( <user_name> [ , <user_name> , ... ] ) ] } ]
                                            [ TRIGGERS triggerDefinition [ triggerDefinition ... ] ]
Copy

其中:

triggerDefinition ::=
   ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }
Copy

参数

name

指定要更改的资源监视器的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

SET ...
CREDIT_QUOTA = num

指定每个频率间隔分配给资源监视器的 Credit。当分配给监视器的所有仓库的总使用量在当前频率间隔内达到此数字时,资源监视器被视为达到配额的 100%。

如果没有为资源监视器指定值,则监视器没有配额,并且永远不会在指定间隔内达到 100% 的使用量。

FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER

Credit 使用量重置为 0 的频率间隔。

如果您指定 NEVER 作为频率,则仓库的 Credit 使用量不会重置。

START_TIMESTAMP = timestamp | IMMEDIATELY

资源监视器开始监控所分配仓库的 Credit 使用量的日期和时间。

如果为开始时间戳指定 IMMEDIATELY,则使用当前时间戳。

如果指定日期而不指定时间,则使用当前时间。

如果设置时间时未指定时区,则使用 UTC 作为默认时区。

END_TIMESTAMP = timestamp

资源监视器暂停分配的仓库的日期和时间。

NOTIFY_USERS = ( user_name [ , user_name , ... ] )

指定要在资源监视器上接收电子邮件通知的用户列表。如果用户标识符包含空格或特殊字符或区分大小写,则该标识符必须放在双引号内(例如 "Mary Smith")。有关详细信息,请参阅 标识符要求

用户标识符 user_nameSHOW USERS 输出中 name 列的值。

列出的每个用户都必须具有经过验证的电子邮件地址。有关在 Web 界面中验证电子邮件地址的说明,请参阅:

非管理员用户的电子邮件通知不会取代管理员的电子邮件通知。任何已 启用电子邮件通知 的账户管理员将继续接收电子邮件通知。

备注

  • 对于非管理员用户,适用以下限制:

    • 非管理员用户只能接收针对 仓库监视器通知

    • 非管理员用户会收到电子邮件通知,但无法在 Classic Console 中查看通知。

    • 非管理员用户无法创建资源监视器。

    • 非管理员用户无法指定其他用户接收通知。

:samp:`TRIGGERS ...`(即 操作

为资源监视器指定一个或多个触发器。每个触发器定义包括:

  • ON threshold PERCENT`(使用百分比;支持大于 ``100` 的值)

  • :samp:`DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY`(达到阈值时执行的操作)。

有关更多详细信息,请参阅 CREATE RESOURCE MONITOR

使用说明

  • 如果资源监视器的 SUSPENDSUSPEND_IMMEDIATE 触发器处于活动状态,并且已达到指定频率间隔的触发阈值,从而阻止启动/恢复所有分配的仓库,则可以使用此命令将 Credit 配额增加到触发阈值以上,或者将触发器替换为具有更高阈值的新触发器。

    当资源监视器的 Credit 配额或触发阈值增加后,就可以启动或恢复分配的仓库。

  • TRIGGERS 参数 不会 累加(即,该参数会移除资源监视器的所有现有触发器并将它们替换为指定的触发器)。

    因此,要对现有触发器进行添加,必须指定新触发器 复制现有触发器。

  • 如果在资源监视器上设置了 frequencystart_timestamp 参数,则根据这些参数计算 Credit 使用量重置的日期。无论 start_timestamp 中指定的时间如何,Credit 使用量重置为 0 的时间为 12:00 AM UTC。

  • 如果指定 end_timestamp,监控会在指定日期和时间结束,所有分配的仓库都会在该日期和时间暂停(即使没有达到 Credit 配额)。

    出现这种情况时,系统会发出通知,说明资源监视器的配额已达到一定百分比,并触发了“立即暂停”操作。配额百分比反映了截至结束日期当前间隔内所使用的 Credit 数,可能不是您指定的阈值。

  • 如果通知列表中有非管理员用户,则以下说明适用:

    • 如果通知列表中的任何用户没有 经验证的电子邮件地址,SQL 语句将失败。

    • 如果通知列表中的任何用户更改了其电子邮件地址且未验证新的电子邮件地址,则通知将失败且不会有任何提示。

    • 通知列表中最多只能有 5 个非管理员用户。

    • 账户管理员可以在 notify_user 列中 SHOW RESOURCE MONITORS 的输出中查看非管理员用户的通知列表。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

limiter 资源监视器指定新的 Credit 配额,并用一组新的触发器替换监视器的现有触发器:

ALTER RESOURCE MONITOR limiter
  SET CREDIT_QUOTA=2000
  TRIGGERS ON 80 PERCENT DO NOTIFY
           ON 100 PERCENT DO SUSPEND_IMMEDIATE;
Copy

更改资源监视器,以便当 Credit 配额达到 80% 时向三个用户发送通知。在此示例中,两个用户的 user_name 包含空格,因此放在双引号内:

ALTER RESOURCE MONITOR limiter
  SET CREDIT_QUOTA = 2000
      NOTIFY_USERS = (JDOE, "Jane Smith", "John Doe")
  TRIGGERS ON 80 PERCENT DO NOTIFY
           ON 100 PERCENT DO SUSPEND_IMMEDIATE
Copy
语言: 中文