通过 Budgets 监控 Credit 使用量

Budgets 支持对一组特定 Snowflake 对象的 Snowflake Credit 使用量进行账户级监控和通知。

本主题内容:

Budgets 概览

预算定义 Snowflake 账户或一组自定义 Snowflake 对象的 计算成本 的每月支出限额。当预计会超出支出限额时,每日通知电子邮件将发送到指定用于接收预算通知的电子邮件地址。

账户预算和自定义预算

账户预算 监控账户中所有 受支持对象 的支出。要获取账户预算的通知,请设置支出限额并指定用于接收通知的电子邮件地址。

您还可以创建 自定义预算,以监控一组特定的受支持对象的支出限额。与账户预算一样,您必须设置支出限额和通知电子邮件地址才能接收通知电子邮件。

要开始在 Snowflake 中使用预算,请 激活账户预算

支出限额和时间间隔

支出限额以 Snowflake Credit 表示,仅用于警报和通知目的。支出限额的时间间隔设置为一个日历月。

时间间隔从每月第一天的 12:00AM UTC 开始,到每月最后一天的 11:59PM UTC 结束。如果预算在当月的第一天之后创建,则第一个监控时间间隔截止到当月最后一天,然后在下个月的第一天重置。

如果您在当月第一天之后激活 账户预算,则从当月初开始的数据会回填,并用于确定您是否会超出当月的支出限额。

如果您在当月第一天之后创建 自定义预算,则当月的历史数据 不会 回填。未来支出预测仅基于启用预算后几天内的 Credit 使用量。

备注

如果您在当月第一天之后创建自定义预算,则可能会超出第一个月的预算。在非整月的月份中,不会为自定义预算回填预算创建之前的 Credit 使用量,这可能会导致预测不正确。随后的几个月将根据支出历史记录正确预测 Credit 使用量。

受支持对象

受支持对象的列表中的每个对象都会影响账户预算的支出限额。对于自定义预算,您可以选择一组要监控的特定对象。将对象添加到自定义预算后,预算会监控对象的所有计算成本,包括后台维护操作和无服务器功能。例如,如果将表添加到自定义预算中,且表已启用自动聚类,则预算会监控自动聚类后台维护的 Credit 使用量。

预算可以监控以下 Snowflake 对象:

对象

监控成本

物化视图

物化视图的后台维护。有关更多信息,请参阅 物化视图成本

管道

使用 Snowpipe 加载数据的资源消耗。有关更多信息,请参阅 Snowpipe 成本

自动聚类搜索优化 的后台维护操作(如果已在表上启用)。

任务

无服务器任务由自定义预算监控。要监控使用用户管理仓库执行的任务的 Credit 使用量,您必须将仓库添加到预算中。有关更多信息,请参阅 任务成本

架构

在预算中添加架构时,架构包含的所有受支持对象也会自动添加。如上所述,预算会监控架构对象的 Credit 使用量。

数据库

在预算中添加数据库时,数据库包含的所有受支持对象也会自动添加。预算会监控以下对象和无服务器功能的 Credit 使用量:

  • 上述受支持的架构对象。

  • 辅助(副本)数据库的复制。

    备注

    复制或故障转移组中复制的辅助数据库的复制成本,只能由账户预算来监控。

仓库

用于查询执行、Web 界面和其他功能(请参阅 虚拟仓库 Credit 使用量)、无服务器任务和 云服务计算 的计算资源。

支持的无服务器功能

预算监控预算中包含的受支持对象的无服务器功能 Credit 使用量。下表列出了用于监控 Credit 使用量的无服务器功能以及账户和自定义预算支持。

备注

无服务器功能的账户预算支持取决于 Account Usage METERING_HISTORY 视图 视图中服务类型的可用性。

无服务器功能

账户预算

自定义预算

对象

AI_SERVICES

AUTO_CLUSTERING

COPY_FILES

HYBRID_TABLE_REQUESTS

MATERIALIZED_VIEW

物化视图

PIPE

管道

QUERY_ACCELERATION

QUERY_ACCELERATION_READER

REPLICATION

数据库

SEARCH_OPTIMIZATION

SERVERLESS_TASK

任务

SNOWPARK_CONTAINER_SERVICES

SNOWPIPE_STREAMING

WAREHOUSE_METERING

仓库

WAREHOUSE_METERING_READER

仓库

Budgets 通知

当根据时间序列预测,当前支出有望超过支出限额时,预算会发送每日警报通知。要接收自动警报通知,您必须执行以下步骤:

  • 为预算设置支出限额。

  • 为预算设置电子邮件通知。

以下是通知电子邮件的示例:

Budgets 通知电子邮件示例

您可以通过调用 SET_NOTIFICATION_MUTE_FLAG 方法为预算禁用电子邮件通知。

Budgets 角色和权限

要启用账户中的自定义角色来处理预算,您可以授予以下角色和权限。

用于管理账户预算的应用程序角色

您可以向账户中的自定义角色授予以下应用程序角色,以监控或管理账户预算:

应用程序角色

描述

BUDGET_VIEWER

支持角色查看预算使用量数据并列出预算中的资源。

BUDGET_ADMIN

支持角色激活或停用账户预算,并修改预算的属性,包括支出限额、用于接收通知的电子邮件地址列表以及静音通知设置。

除应用程序角色外,还必须授予其他必要的权限,以使自定义角色能够监控或管理账户预算。有关更多信息,请参阅 所需的角色和权限

用于管理自定义预算的实例角色

每个自定义预算都有实例角色,您可以将其授予其他角色以查看或修改预算:

实例角色

描述

VIEWER

支持角色查看预算使用情况数据。

ADMIN

支持角色修改预算的属性,包括支出限额、用于接收通知的电子邮件地址列表、静音通知设置,以及组中的对象。

除实例角色外,还必须授予其他必要的权限,以使自定义角色能够创建、监控或修改自定义预算。有关更多信息,请参阅 所需的角色和权限

所需的角色和权限

除应用程序或实例角色外,还必须向自定义角色授予以下权限,以监控或管理预算:

权限或角色

预算类型

创建

管理

监控

备注

IMPORTED PRIVILEGES

两者

授予对 SNOWFLAKE 数据库的 IMPORTED PRIVILEGES 权限。

USAGE

自定义

授予对包含自定义预算的数据库的 USAGE 权限。

USAGE

自定义

授予对包含自定义预算的架构的 USAGE 权限。

SNOWFLAKE.BUDGET_CREATOR

自定义

将此数据库角色授予自定义角色,使其能够创建自定义预算。

CREATE SNOWFLAKE.CORE.BUDGET

自定义

针对包含自定义预算的架构,授予此权限。

APPLYBUDGET

自定义

针对要添加到自定义预算或从中删除的每个对象,必须授予该权限。

USAGE

自定义

要从自定义预算中添加或删除架构对象,针对包含该对象的数据库和架构,必须授予该权限。

有关详细信息和示例,请参阅以下部分:

限制

以下是 Budgets 的限制:

  • BUDGET 类的实例无法 复制 到目标账户。

  • 一个账户最多可以包含 100 个自定义预算。

  • 目前,Budgets 不支持监控 Snowpark Container Services 成本。

  • 目前,Budgets 不支持监控 混合表 成本。

语言: 中文