<budget_name>!ADD_SHARED_RESOURCE

将共享资源添加到 自定义预算。当您添加共享资源时,仅当该资源被特定用户使用时,才会跟踪其使用情况。这些用户被贴上了通过 SET_USER_TAGS 方法添加到预算中的标签值对。

有关更多信息,请参阅 针对 AI 功能(共享资源)使用预算。

语法

<budget_name>!ADD_SHARED_RESOURCE( '<domain>' [ , '<instance>' ] )

实参

'domain'

添加到预算的资源类型。有效值:模型监视器名称字符串。

  • AI FUNCTION

  • CORTEX CODE

  • CORTEX AGENT

  • SNOWFLAKE INTELLIGENCE

除非指定第二个实参,否则预算将跟踪指定域内所有资源的使用情况。

'instance'

可选。指定所选 domain 中的特定资源以添加到预算中。

对于支持实例级选择的域(例如 AI FUNCTIONCORTEX CODE),此实参允许您跟踪特定的函数或界面。

如果不指定第二个实参,预算将跟踪域内的所有实例。

示例:

  • AI 函数:AI_CLASSIFYAI_COMPLETE

  • Cortex Code:CORTEX_CODE_CLICORTEX_CODE_SNOWSIGHT

实例级选择并不适用于所有域。例如,CORTEX AGENTSNOWFLAKE INTELLIGENCE 目前仅在域级别进行跟踪。

返回

返回一个 VARCHAR 值,用于指明资源是否已成功添加到预算中。

如果资源无法添加到预算,函数会返回错误消息。

访问控制要求

要为自定义预算调用此方法,需要具备以下权限和角色:

  • 预算实例的 ADMIN 实例角色

  • 对包含预算实例的数据库和架构的 USAGE 权限。

  • 对包含该被添加资源的数据库和架构的 USAGE 权限(对于架构对象)。

有关更多信息,请参阅 Budgets 角色和权限

使用说明

  • 您只能将共享资源添加到 自定义预算

  • 要验证该方法的结果,请调用 GET_BUDGET_SCOPE 方法。

  • 当指定实体类型的所有对象都被添加后(例如所有 AI 函数),您就无法再添加该类型的单个资源了。

  • 调用此方法不会返回对象。因此,您无法使用方法链来调用此方法返回值上的另一个方法。相反,应在单独 SQL 语句中调用每个方法。

示例

将全部 AI 函数添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION');

将特定 AI 函数添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('AI FUNCTION', 'AI_CLASSIFY');

将所有 Cortex Code 工作负载添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('CORTEX CODE');

将 Cortex Code CLI 工作负载添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('CORTEX CODE', 'CORTEX_CODE_CLI');

将 Cortex Code Snowsight 工作负载添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('CORTEX CODE', 'CORTEX_CODE_SNOWSIGHT');

将 Cortex Agent 工作负载添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('CORTEX AGENT');

备注

Cortex Agent 预算仅在域级别可用。要跟踪特定代理的成本,请改为通过资源标签使用资源预算。有关更多信息,请参阅 Cortex Agent 的资源预算

将所有 Snowflake Intelligence 工作负载添加到预算:

CALL finance_budget!ADD_SHARED_RESOURCE('SNOWFLAKE INTELLIGENCE');

备注

Snowflake Intelligence 预算仅在域级别可用。