SYSTEM$CREATE_BILLING_EVENT
SYSTEM$CREATE_BILLING_EVENT
설치된 유료(monetized) 애플리케이션의 소비자 사용량을 추적하는 과금 이벤트(billable event)를 만들어요. 이 시스템 함수의 분당 1회 이벤트 빈도 제한을 초과해야 한다면 SYSTEM$CREATE_BILLING_EVENTS를 사용하세요. 이 시스템 함수는 소비자 계정에 설치된 애플리케이션에서만 호출할 수 있어요.
본문
구문 (Syntax)
SYSTEM$CREATE_BILLING_EVENT(
'<class>',
'<subclass>',
<start_timestamp>,
<timestamp>,
<base_charge>,
'<objects>',
'<additional_info>'
)
인자 (Arguments)
필수 (Required):
'class'— 사용자 지정 이벤트 클래스의 식별자예요. 타입: STRING. 식별자에는 다음 요구 사항이 있어요.- 문자(A-Z)나 밑줄(“_”)로 시작해야 해요.
- 문자, 밑줄, 십진 숫자(0-9), 달러 기호(“$”)만 포함해야 해요.
- 길이는 64자를 초과할 수 없어요.
SNOWFLAKE_로 시작하면 안 돼요.SNOWFLAKE_는 내부 식별자용으로 예약되어 있어요.- 클래스 이름은 대문자로 저장되고 해석돼요. 클래스 이름 비교는 대소문자를 구분하지 않아요.
timestamp— 이벤트가 생성된 시각(UTC)을 밀리초 단위의 Unix 타임스탬프로 지정해요. 타입: Integer.base_charge— 과금 이벤트에 대해 청구할 금액(미국 달러)을 지정해요. 값은 0보다 커야 하고 99,999.99보다 작아야 하며 소수점 둘째 자리를 초과해서는 안 돼요. 예:1.00또는0.07. 타입: DOUBLE.
선택 (Optional):
'subclass'— 사용자 지정 이벤트 하위 클래스의 식별자예요. 이 필드는 공급자만 사용해요. 타입: STRING. 식별자에는class인자와 동일한 명명 요구 사항이 있어요.start_timestamp— 이벤트의 시작 시각(UTC)을 밀리초 단위의 Unix 타임스탬프로 지정해요. 타입: INTEGER. 공급자가 시간 범위를 기준으로 이벤트를 내보내려는 경우 시작 시각을 설정하는 데 사용해요. 그렇지 않으면TIMESTAMP인자에 사용된 값과 동일한 값으로 설정해요.'objects'— 이 이벤트에 적용되는 정규화된 객체 이름을 포함하는 JSON 문자열 배열이에요. 타입: STRING. 최대 크기는 4KB예요.'additional_info'— 공급자가 추가 정보를 보내는 데 사용할 수 있는 키-값 쌍의 JSON 문자열이에요. 타입: STRING. 최대 크기는 4KB예요.
반환 값 (Returns)
이 함수는 다음 상태 메시지를 반환해요.
| 상태 메시지 | 설명 |
|---|---|
| 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. | 애플리케이션이 특정 기간 내에 이 시스템 함수를 너무 많이 호출했음을 나타내요. |
사용 참고 (Usage Notes)
이 시스템 함수는 Snowflake Native App Framework로 만든 애플리케이션의 설정 스크립트에 있는 저장 프로시저 내에서만 호출할 수 있어요.
예제 (Examples)
과금 이벤트 예제를 참고하세요.
더 알아보기
- Snowflake 시스템 제어 함수 — 관련 시스템 함수 전체 목록