类别:

:doc:`/sql-reference/functions-system`(系统控制)

SYSTEM$CREATE_BILLING_EVENT

创建 可计费事件,该事件跟踪使用者对已安装的创收型应用程序的使用情况。如果需要超出该系统函数的每分钟一个事件的频率限制,请使用 SYSTEM$CREATE_BILLING_EVENTS。只能从安装在使用者账户中的应用程序调用该系统函数。

语法

SYSTEM$CREATE_BILLING_EVENT(
 '<class>',
 '<subclass>',
 <start_timestamp>,
 <timestamp>,
 <base_charge>,
 '<objects>',
 '<additional_info>'
 )
Copy

实参

必填:

'class'

自定义事件类的标识符。

类型:STRING

此标识符具有以下要求:

  • 必须以字母 (A-Z) 或下划线(“_”)开头。

  • 只能包含字母、下划线、十进制数字 (0-9) 和美元符号(“$”)。

  • 长度不能超过 64 个字符。

  • 不能以 SNOWFLAKE_ 开头。SNOWFLAKE_ 保留用于内部标识符。

类名以大写字符形式存储和解析。类名比较不区分大小写。

timestamp

在事件已创建为 Unix 时间戳时指定时间戳 (UTC),以毫秒为单位。

类型:整型

base_charge

指定要为可计费事件收取的金额(以 US 美元为单位)。值必须大于 0,小于 99,999.99,且精度不得超过 2 个小数位。例如,1.000.07

类型:DOUBLE

可选:

'subclass'

自定义事件子类的标识符。此字段仅由提供商使用。

类型:STRING

此标识符的命名要求与 class 实参相同。

start_timestamp

将事件的开始时间 (UTC) 指定为 Unix 时间戳(以毫秒为单位)。

类型:INTEGER

在提供商希望根据时间范围发出事件的情况下,可使用此实参设置开始时间;在其他情况下,可将此实参设置为用于 TIMESTAMP 实参的同一个值。

'objects'

一个 JSON 字符串数组,其中包含应用于此事件的完全限定对象名称。

类型:STRING

大小上限为 4 KB。

'additional_info'

一个 JSON 键值对字符串,可供提供商用于发送其他信息。

类型:STRING

大小上限为 4 KB。

返回

该函数返回以下状态消息:

状态消息

描述

Success

表示可计费事件已成功创建。

Invalid parameter: <PARAM_NAME>.

表示向该函数传递了不受支持的参数。

Only callable from within an application.

表示从应用程序外部调用了该函数。

Payload length exceeds the limit of 9000 characters.

表示对该函数的调用超出了字符限制。

Too many calls.At most 1 call is allowed per 10 millisecond window.

表示应用程序在特定时间段内调用该系统函数的次数过多。

使用说明

要调用该系统函数,只能从存储过程内部来调用,该存储过程位于使用 Snowflake Native App Framework 创建的应用程序的安装脚本中。

示例

请参阅 可计费事件示例

语言: 中文