EXECUTE ALERT¶
手动执行独立于警报计划的 警报。
小技巧
您还可以使用 Snowflake REST APIs 来执行此操作。有关信息,请参阅 执行警报(REST 端点引用)。
语法¶
EXECUTE ALERT <name>
参数¶
name
要执行的警报的标识符。
如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
有关更多信息,请参阅 标识符要求。
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
EXECUTE ALERT |
账户 |
|
OWNERSHIP 或 OPERATE |
警报 |
|
USAGE |
仓库 |
对用于警报的仓库为必填项。 |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
警报始终以警报所有者的权限运行,即使具有 OPERATE 权限的其他角色使用 EXECUTE ALERT 执行警报也是如此。
如果警报当前处于暂停状态,则 EXECUTE ALERT 命令可以执行警报,但不会恢复警报。警报仍处于暂停状态。
如果警报当前正在运行(即警报在 ALERT_HISTORY 表函数输出或 ALERT_HISTORY 视图 中的状态为
EXECUTING
),则 EXECUTE ALERT 命令会计划在当前警报运行完成后立即开始再次运行。如果警报当前已计划(即警报在 ALERT_HISTORY 表函数输出或 ALERT_HISTORY 视图中的状态为
SCHEDULED
),则计划的运行将替换为请求的运行,当前时间戳将被设置为计划的时间。但是,如果计划的时间已过,但警报的状态尚未转换为
EXECUTING
,则计划的运行将照常进行。(计划的运行不会替换为 EXECUTE ALERT 命令请求的运行。)
示例¶
以下语句可手动触发名为 myalert
的警报:
EXECUTE ALERT myalert;